Select the product you need help with
Methoden zum Übertragen von Daten von Visual Basic zu ExcelArtikel-ID: 247412 - Produkte anzeigen, auf die sich dieser Artikel bezieht Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base: 247412
(http://support.microsoft.com/kb/247412/EN-US/
)
Methods for transferring data to Excel from Visual BasicBitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung. Zusammenfassung Dieser Artikel beschreibt verschiedene Methoden zum Übertragen von Daten von Ihrer Microsoft Visual Basic-Anwendung zu Microsoft Excel. Außerdem werden in diesem Artikel die jeweiligen Vor- und Nachteile dieser Methoden erläutert, sodass Sie die Lösung wählen können, die für Sie am besten geeignet ist. Weitere Informationen Die am häufigsten verwendete Methode zum Übertragen von Daten in eine Excel-Arbeitsmappe ist die Automatisierung. Die Automatisierung gewährt Ihnen die größtmögliche Flexibilität beim Festlegen des Speicherorts von Daten innerhalb Ihrer Arbeitsmappe und eröffnet Ihnen zudem die Möglichkeit, zur Laufzeit die Arbeitsmappe zu formatieren und diverse Einstellungen festzulegen. Mit der Automatisierung können Sie diverse Vorgehensweisen zum Übertragen Ihrer Daten verwenden:
Hinweis: Wenn Sie mit Microsoft Office Excel 2007 arbeiten, können Sie beim Speichern von Arbeitsmappen das neue Excel 2007-Dateiformat für Arbeitsmappen (*.xlsx) verwenden. Gehen Sie hierzu in den folgenden Codebeispielen zu der folgenden Codezeile: Verwendung der Automatisierung zum Übertragen von Daten Zelle für ZelleMithilfe der Automatisierung können Sie Daten Zelle für Zelle auf ein Arbeitsblatt übertragen:216400 Auch hier ist das Übertragen von Daten Zelle für Zelle nur bei kleinen Datenmengen zu empfehlen. Wenn Sie große Datenmengen nach Excel übertragen müssen, sollten Sie eine der weiter unten beschriebenen Lösungen in Betracht ziehen.
(http://support.microsoft.com/kb/216400/DE/
)
PRB: Prozessübergreifend-COM-Automatisierungsschnittstelle kann Clientanwendung auf Win95/98 hängen
Weitere Codebeispiele für die Automatisierung von Excel finden Sie im folgenden Artikel der Microsoft Knowledge Base: 219151
(http://support.microsoft.com/kb/219151/DE/
)
Kann Microsoft Excel in Visual Basic wie automatisierenVerwenden der Automatisierung zum Übertragen eines Arrays mit Daten auf einen Bereich in einem ArbeitsblattEin Array mit Daten kann gleichzeitig auf einen Bereich mit mehreren Zellen übertragen werden:Verwenden der Automatisierung zum Übertragen eines ADO-Recordsets auf einen ArbeitsblattbereichIn Excel 2000 wurde die Methode CopyFromRecordset eingeführt, die es ermöglicht, ein ADO-Recordset (oder DAO-Recordset) auf einen Arbeitsblattbereich zu übertragen. Der folgende Code veranschaulicht, wie Sie Excel 2000, Excel 2002 oder Office Excel 2003 so automatisieren können, dass der Inhalt der Tabelle "Bestellungen" (Orders) aus der Beispieldatenbank "Nordwind" mithilfe der Methode CopyFromRecordset übertragen wird:Weitere Informationen zum Verwenden von ADO und der Methode CopyFromRecordset finden Sie im folgenden Artikel der Microsoft Knowledge Base: 246335
(http://support.microsoft.com/kb/246335/DE/
)
Wie Übertragen von Daten auf Excel mit Automatisierung von einem ADO-RecordsetVerwenden der Automatisierung zum Erstellen einer Abfragetabelle auf einem ArbeitsblattEin Objekt des Typs Abfragetabelle (QueryTable) repräsentiert eine Tabelle, die mit Daten aus einer externen Datenquelle erstellt wurde. Im Rahmen der Automatisierung von Microsoft Excel können Sie eine Abfragetabelle erstellen, indem Sie einfach eine Verbindungszeichenfolge für eine Verbindung zu einer OLEDB- oder ODBC-Datenquelle zusammen mit einer SQL-Zeichenfolge eingeben. Excel übernimmt die Erstellung des Recordsets und fügt es dann an der von Ihnen angegebenen Stelle in das Arbeitsblatt ein. Die Verwendung von Abfragetabellen bietet verschiedene Vorteile gegenüber der Methode CopyFromRecordset:
Verwenden der ZwischenablageDie Windows-Zwischenablage kann ebenfalls zum Übertragen von Daten auf ein Arbeitsblatt verwendet werden. Sie können eine Zeichenfolge mit durch Tabulatoren getrennten Spalten und durch Zeilenschaltungen getrennten Zeilen kopieren und dann in mehrere Zellen auf einem Arbeitsblatt einfügen. Der folgende Code veranschaulicht, wie Visual Basic sein Zwischenablage-Objekt nutzen kann, um Daten nach Excel zu übertragen:Erstellen einer Textdatei mit Trennzeichen, die Excel in Zeilen und Spalten auflösen kannExcel kann Tabstopp- oder Trennzeichen-getrennte Dateien öffnen und die darin enthaltenen Daten korrekt in Zellen einfügen. Sie können dieses Feature nutzen, wenn Sie eine große Datenmenge bei nur wenig oder gar keiner Automatisierung auf ein Arbeitsblatt übertragen möchten. Diese Vorgehensweise ist insbesondere für Client-/Serveranwendungen geeignet, weil die Textdatei auf der Serverseite generiert werden kann. Sie können die erstellte Datei dann auf dem Client öffnen und die Automatisierung je nach Bedarf nutzen.Der folgende Code veranschaulicht, wie Sie aus einem ADO-Recordset eine Trennzeichen-getrennte Textdatei erstellen können: Im vorangegangenen Codebeispiel wurde Excel über die Shell-Anweisung gestartet, und der Name der Datei wurde als Befehlszeilenargument verwendet. Im vorangegangenen Beispiel kam keine Automatisierung zum Einsatz. Falls gewünscht, können Sie jedoch einen geringen Grad der Automatisierung einsetzen, um die Textdatei zu öffnen und im Format einer Excel-Arbeitsmappe zu speichern: 172267
(http://support.microsoft.com/kb/172267/DE/
)
BEISPIEL: RECEDIT.VBP zeigt Dateieingabe/-ausgabe in Visual BasicÜbertragen von Daten auf ein Arbeitsblatt mithilfe von ADOSie können den Microsoft Jet OLE DB-Provider verwenden, um Datensätze zu einer Tabelle in einer vorhandenen Excel-Arbeitsmappe hinzuzufügen. Eine "Tabelle" in Excel ist eigentlich nur ein Bereich mit einem definierten Namen. Die erste Zeile des Bereichs muss die Kopfzeilen (oder Feldnamen) enthalten, und alle folgenden Zeilen enthalten die Datensätze. Die folgenden Schritte zeigen, wie Sie mit einer leeren Tabelle mit dem Namen MyTable eine Arbeitsmappe erstellen können.Excel 97, Excel 2000 und Excel 2003
Excel 2007
Beachten Sie, dass ein Datensatz, wenn er zu einer oder mehreren Zellen in dem Arbeitsblatt hinzugefügt wird, alle Daten überschreibt, die zuvor in diesen Zellen enthalten waren. Zeilen in dem Arbeitsblatt werden also nicht "nach unten verschoben", wenn neue Datensätze hinzufügt werden. Sie sollten diese Regel berücksichtigen, wenn Sie das Datenlayout in Ihren Arbeitsmappen planen. Hinweis: Die Methode zum Aktualisieren von Daten in einem Excel-Arbeitsblatt über ADO oder DAO funktioniert innerhalb von Access in der Visual Basic für Applikationen-Umgebung nicht, nachdem Sie Office 2003 Service Pack 2 (SP2) oder das Update für Access 2002 installiert haben, das im Microsoft Knowledge Base-Artikel 904018 enthalten ist. In der Visual Basic für Applikationen-Umgebung funktioniert die Methode gut aus anderen Office-Anwendungen heraus, z. B. Word, Excel und Outlook. Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base: 904953
(http://support.microsoft.com/kb/904953/DE/
)
Sie können Daten in Tabellen, die in einer Excel-Arbeitsmappe in Office Access 2003 oder Access 2002 verknüpft werden, nicht ändern, Sie können nicht hinzufügen oder Sie können nicht löschen
904018
(http://support.microsoft.com/kb/904018/DE/
)
Beschreibung des Updates für Access 2002 vom 18.10.2005Weitere Informationen zum Verwenden von ADO für den Zugriff auf eine Excel-Arbeitsmappe finden Sie im folgenden Artikel der Microsoft Knowledge Base: 195951
(http://support.microsoft.com/kb/195951/DE/
)
Abfragen und Aktualisieren von Excel-Daten mit ADO von ASPVerwenden von DDE zum Übertragen von Daten nach ExcelDDE ist eine Alternative zur Automatisierung als Methode der Kommunikation mit Excel und der Übertragung von Daten. Mit zunehmender Bedeutung der Automatisierung und von COM ist DDE jedoch nicht länger die bevorzugte Methode der Kommunikation mit anderen Anwendungen und sollte nur verwendet werden, wenn keine andere Lösung zur Verfügung steht.Sie können folgende Vorgehensweisen wählen, um Daten mithilfe von DDE nach Excel zu übertragen:
Hinweis: Wenn Sie mit Excel 2007 arbeiten, können Sie beim Speichern von Arbeitsmappen das neue Dateiformat für Arbeitsmappen (*.xlsx) verwenden. Aktualisieren Sie den Dateinamen in dem folgenden Codebeispiel. Hinweis: In diesem Beispiel steht Text1 für ein Steuerelement Text Box (Textfeld) in einem Visual Basic-Formular: Wenn Sie Excel mithilfe von LinkExecute auffordern, einen Befehl auszuführen, müssen Sie Excel den Befehl in der Excel-Makrosprache (XLM) geben. Die XLM-Dokumentation ist in den Excel-Versionen 97 und höher nicht enthalten. Weitere Informationen dazu, wie Sie die XLM-Dokumentation erhalten können, finden Sie im folgenden Artikel der Microsoft Knowledge Base: 143466 Es wird nicht empfohlen, die DDE-Lösung für die Kommunikation mit Excel zu verwenden. Die Automatisierung bietet größtmögliche Flexibilität und gewährt Ihnen einen umfassenden Zugriff auf die neuen Features von Excel.
(http://support.microsoft.com/kb/143466/DE/
)
XL97: verfügbare Macro97.exe-Datei auf Online-DienstInformationsquellen
Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base: 306022
(http://support.microsoft.com/kb/306022/DE/
)
Übertragen von Daten in eine Excel-Arbeitsmappe mit Visual Basic .NET
EigenschaftenArtikel-ID: 247412 - Geändert am: Montag, 19. März 2007 - Version: 8.0 Die Informationen in diesem Artikel beziehen sich auf:
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
| SPRACHE AUSWÄHLEN
|


Zum Anfang








