2016-07-24 39 views
1

Ich versuche, mehrere Benutzer eine Excel-Tabelle zu senden, die ein Formular enthält, das Daten sammelt. Ich möchte ihre Eingabedaten an die untere Reihe der gemeinsamen Datei anhängen. Gibt es eine Möglichkeit für jeden dieser Benutzer, seine Eingabedaten, die ich in Form einer Tabelle gesammelt habe, "einzureichen" und in eine separate Tabelle zu exportieren?Wie exportiere ich Excel 2016 Daten in eine andere Tabelle mit VBA?

+2

Wenn Sie bereits eine Access-Datenbank haben UND schließlich die Daten in Access zurückhaben möchten, würde ich vorschlagen, das Formular in einer Front-End-Access-Datenbank mit Links zu Ihrer Backend-Datenbank zu erstellen. Jeder Benutzer würde das Front-End für die Dateneingabe verwenden. Keine Notwendigkeit, zusätzliche MS-Access-Lizenzen zu erwerben - sie würden die kostenlose Runtime-Version von Microsoft installieren. – dbmitch

+2

@dbmitch hat Ihnen gerade Wochen der Entwicklungs- und Wartungszeit gespart :-). –

+1

Danke @dbmitch. Ich habe keine Access-Datenbank bereits gebaut. Alle für das Formular erforderlichen Berechnungen befinden sich in einer ausgeblendeten Registerkarte in der Excel-Tabelle. Ich habe das Arbeitsbuch für einige Modellierung verwendet, und jetzt müssen wir Daten in einem kurzen Zeitrahmen sammeln. Im Nachhinein wäre es besser gewesen, die Datenbank in Excel zu erstellen. Gibt es eine Möglichkeit, ein Makro zu erstellen, das Daten am Ende einer Tabelle in einer anderen Excel-Tabelle anhängen würde? –

Antwort

0

Sie können die folgenden Objekte verwenden, um Ihre Sammlungstabelle an mehrere Benutzer zu senden.

' Outlook variables 
Dim oOlAp As Object, oOlns As Outlook.Namespace, oOlInb As Object, oOlInb1 As Object 
Dim oOlItm As Object, oOlAtch As Object 

' Get Outlook instance 
Set oOlAp = GetObject(, "Outlook.application") 
Set oOlns = oOlAp.GetNamespace("MAPI") 

Verwenden Sie in dieser Kalkulationstabelle dieselben Objekte, um die Antworttabelle an Sie zurückzusenden.

Verwenden Sie dann in einer "Upload" -Tabelle, die auf Ihrem Computer ausgeführt wird, dieselben Objekte, um alle genannten Tabellen aus den Antwort-E-Mails zu extrahieren.

Danach können Sie die normale Excel-Schnittstelle verwenden, um Ihre Access-Datenbank zu füllen.

+0

Es gibt viele fehlende Teile in diesem Vorschlag. Es ist viel mehr Code und Koordination als Sie vorschlagen. – dbmitch

+0

Nun, ich habe bereits ein Blatt erstellt, das wird in einem Outlook-Ordner für xls-Dateien suchen, extrahieren, das Datenarbeitsblatt importieren und dann mit den Daten in die Datenbanktabelle integrieren. Das Schreiben für den Zugriff ist wahrscheinlich nicht viel anders als das Schreiben in ein anderes normales Arbeitsblatt. In meinem Fall bestand der schwierigste Teil darin, die Outlook-Schnittstelle herauszufinden, so dass der Benutzer überhaupt keine Dateien verarbeiten musste. – Shodan

+0

Ausgezeichnet - wenn Sie mehr als den oben genannten sehr grundlegenden Startcode teilen können, wäre es eine viel nützlichere Antwort. Da das OP nicht einmal eine Access-Datenbank hat, bin ich sicher, dass Ihre Lösung eine willkommene Alternative wäre – dbmitch