Methoden zum Übertragen von Daten aus Visual Basic nach Excel

Zusammenfassung

In diesem Artikel werden zahlreiche Methoden zum Übertragen von Daten aus Ihrer Microsoft Visual Basic-Anwendung an Microsoft Excel erläutert. In diesem Artikel werden auch die Vor- und Nachteile der einzelnen Methoden erläutert, sodass Sie die lösung auswählen können, die für Sie am besten geeignet ist.

Weitere Informationen

Der am häufigsten verwendete Ansatz zum Übertragen von Daten in eine Excel-Arbeitsmappe ist Automation. Die Automatisierung bietet Ihnen die größte Flexibilität bei der Angabe des Speicherorts Ihrer Daten in der Arbeitsmappe sowie die Möglichkeit, die Arbeitsmappe zu formatieren und verschiedene Einstellungen zur Laufzeit vorzunehmen. Mit Automation können Sie verschiedene Ansätze für die Übertragung Ihrer Daten verwenden:

  • Übertragen von Daten zelle für Zelle
  • Übertragen von Daten in einem Array in einen Zellbereich
  • Übertragen von Daten in einem ADO-Recordset in einen Zellbereich mithilfe der CopyFromRecordset-Methode
  • Erstellen einer QueryTable auf einem Excel-Arbeitsblatt, das das Ergebnis einer Abfrage für eine ODBC- oder OLEDB-Datenquelle enthält
  • Übertragen von Daten in die Zwischenablage und anschließendes Einfügen des Inhalts der Zwischenablage in ein Excel-Arbeitsblatt

Es gibt auch Methoden, die Sie zum Übertragen von Daten nach Excel verwenden können, die nicht unbedingt Automatisierung erfordern. Wenn Sie eine Anwendungsserverseite ausführen, kann dies ein guter Ansatz sein, um den Großteil der Verarbeitung der Daten von Ihren Clients zu entfernen. Die folgenden Methoden können verwendet werden, um Ihre Daten ohne Automatisierung zu übertragen:

  • Übertragen Sie Ihre Daten in eine Textdatei mit Tabstopp- oder Kommatrennzeichen, die Excel später in Zellen auf einem Arbeitsblatt analysieren kann.
  • Übertragen Ihrer Daten an ein Arbeitsblatt mithilfe von ADO
  • Übertragen von Daten nach Excel mithilfe von Dynamic Data Exchange (DDE)

In den folgenden Abschnitten finden Sie ausführlichere Informationen zu den einzelnen Lösungen.

Hinweis Wenn Sie Microsoft Office Excel 2007 verwenden, können Sie beim Speichern der Arbeitsmappen das neue Excel 2007-Arbeitsmappendateiformat (*.xlsx) verwenden. Suchen Sie hierzu die folgende Codezeile in den folgenden Codebeispielen:

oBook.SaveAs "C:\Book1.xls"

Ersetzen Sie diesen Code durch durch die folgende Codezeile:

oBook.SaveAs "C:\Book1.xlsx"

Darüber hinaus ist die Northwind-Datenbank standardmäßig nicht in Office 2007 enthalten. Sie können die Northwind-Datenbank jedoch von Microsoft Office Online herunterladen.

Verwenden der Automatisierung zum Übertragen von Daten zellen für Zellen

Mit Automation können Sie Daten zelle für Zelle auf ein Arbeitsblatt übertragen:

Dim oExcel As Object    
Dim oBook As Object    
Dim oSheet As Object 
    
'Start a new workbook in Excel    
Set oExcel = CreateObject("Excel.Application")    
Set oBook = oExcel.Workbooks.Add
      
'Add data to cells of the first worksheet in the new workbook    
Set oSheet = oBook.Worksheets(1)    
oSheet.Range("A1").Value = "Last Name"    
oSheet.Range("B1").Value = "First Name"    
oSheet.Range("A1:B1").Font.Bold = True    
oSheet.Range("A2").Value = "Doe"    
oSheet.Range("B2").Value = "John"     

'Save the Workbook and Quit Excel    
oBook.SaveAs "C:\Book1.xls"    
oExcel.Quit

Die Übertragung von Daten zellenweise kann ein durchaus akzeptabler Ansatz sein, wenn die Datenmenge klein ist. Sie haben die Flexibilität, Daten an einer beliebigen Stelle in der Arbeitsmappe zu platzieren, und können die Zellen zur Laufzeit bedingt formatieren. Dieser Ansatz wird jedoch nicht empfohlen, wenn Sie über eine große Menge an Daten verfügen, die in eine Excel-Arbeitsmappe übertragen werden müssen. Jedes Range-Objekt, das Sie zur Laufzeit abrufen, führt zu einer Schnittstellenanforderung, sodass die Übertragung von Daten auf diese Weise langsam sein kann. Darüber hinaus haben Microsoft Windows 95 und Windows 98 eine Einschränkung von 64K für Schnittstellenanforderungen. Wenn Sie diesen Grenzwert von 64.000 für Schnittstellenanforderungen erreichen oder überschreiten, reagiert der Automation-Server (Excel) möglicherweise nicht mehr, oder Sie erhalten Fehler, die auf unzureichenden Arbeitsspeicher hinweisen.

Auch hier ist die Übertragung von Daten Zellen für Zelle nur für kleine Datenmengen akzeptabel. Wenn Sie große Datasets in Excel übertragen müssen, sollten Sie eine der später vorgestellten Lösungen in Betracht ziehen.

Weitere Beispielcode für die Automatisierung von Excel finden Sie unter Automatisieren von Microsoft Excel in Visual Basic.

Verwenden der Automatisierung zum Übertragen eines Datenarrays in einen Bereich auf einem Arbeitsblatt

Ein Array von Daten kann gleichzeitig in einen Bereich von mehreren Zellen übertragen werden:

Dim oExcel As Object    
Dim oBook As Object    
Dim oSheet As Object     

'Start a new workbook in Excel    
Set oExcel = CreateObject("Excel.Application")    
Set oBook = oExcel.Workbooks.Add     

'Create an array with 3 columns and 100 rows    
Dim DataArray(1 To 100, 1 To 3) As Variant    
Dim r As Integer    
For r = 1 To 100       
   DataArray(r, 1) = "ORD" & Format(r, "0000")       
   DataArray(r, 2) = Rnd() * 1000       
   DataArray(r, 3) = DataArray(r, 2) * 0.7    
Next     

'Add headers to the worksheet on row 1    
Set oSheet = oBook.Worksheets(1)    
oSheet.Range("A1:C1").Value = Array("Order ID", "Amount", "Tax")     

'Transfer the array to the worksheet starting at cell A2    
oSheet.Range("A2").Resize(100, 3).Value = DataArray        

'Save the Workbook and Quit Excel    
oBook.SaveAs "C:\Book1.xls"    
oExcel.Quit

Wenn Sie Ihre Daten mithilfe eines Arrays übertragen und nicht zelle für Zelle, können Sie mit einer großen Datenmenge einen enormen Leistungsgewinn erzielen. Betrachten Sie diese Zeile aus dem obigen Code, die Daten in 300 Zellen im Arbeitsblatt überträgt:

   oSheet.Range("A2").Resize(100, 3).Value = DataArray

Diese Zeile stellt zwei Schnittstellenanforderungen dar (eine für das Range-Objekt, das von der Range-Methode zurückgegeben wird, und eine weitere für das Range-Objekt, das die Resize-Methode zurückgibt). Andererseits würde die Übertragung der Datenzelle nach Zelle Anforderungen für 300 Schnittstellen zu Range-Objekten erfordern. Wenn möglich, können Sie von der Massenübertragung Ihrer Daten profitieren und die Anzahl der Schnittstellenanforderungen reduzieren, die Sie stellen.

Verwenden der Automatisierung zum Übertragen eines ADO-Recordsets in einen Arbeitsblattbereich

Excel 2000 hat die CopyFromRecordset-Methode eingeführt, mit der Sie ein ADO-Recordset (oder DAO)-Recordset in einen Bereich auf einem Arbeitsblatt übertragen können. Der folgende Code veranschaulicht, wie Sie Excel 2000, Excel 2002 oder Office Excel 2003 automatisieren und den Inhalt der Tabelle Orders in der Northwind-Beispieldatenbank mithilfe der CopyFromRecordset-Methode übertragen können.

'Create a Recordset from all the records in the Orders table    
Dim sNWind As String    
Dim conn As New ADODB.Connection    
Dim rs As ADODB.Recordset    
sNWind = _       
   "C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _       sNWind & ";"    
conn.CursorLocation = adUseClient    
Set rs = conn.Execute("Orders", , adCmdTable)        

'Create a new workbook in Excel    
Dim oExcel As Object    
Dim oBook As Object    
Dim oSheet As Object    
Set oExcel = CreateObject("Excel.Application")    
Set oBook = oExcel.Workbooks.Add    
Set oSheet = oBook.Worksheets(1)        

'Transfer the data to Excel    
oSheet.Range("A1").CopyFromRecordset rs        

'Save the Workbook and Quit Excel    
oBook.SaveAs "C:\Book1.xls"    
oExcel.Quit        
'Close the connection    
rs.Close    
conn.Close

Hinweis Wenn Sie die Office 2007-Version der Northwind-Datenbank verwenden, müssen Sie die folgende Codezeile im Codebeispiel ersetzen:

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ sNWind & ";"

Ersetzen Sie diese Codezeile durch die folgende Codezeile:

conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _ sNWind & ";"

Excel 97 bietet auch eine CopyFromRecordset-Methode, sie kann jedoch nur mit einem DAO-Recordset verwendet werden. CopyFromRecordset mit Excel 97 unterstützt ADO nicht.

Weitere Informationen zur Verwendung von ADO und der CopyFromRecordset-Methode finden Sie unter Übertragen von Daten aus einem ADO-Recordset nach Excel mit Automatisierung.

Verwenden der Automatisierung zum Erstellen einer QueryTable auf einem Arbeitsblatt

Ein QueryTable-Objekt stellt eine Tabelle dar, die aus Daten erstellt wird, die von einer externen Datenquelle zurückgegeben werden. Bei der Automatisierung von Microsoft Excel können Sie eine QueryTable erstellen, indem Sie einfach eine Verbindungszeichenfolge einer OLEDB- oder ODBC-Datenquelle zusammen mit einer SQL-Zeichenfolge bereitstellen. Excel übernimmt die Verantwortung für das Generieren des Recordsets und das Einfügen in das Arbeitsblatt an der von Ihnen angegebenen Position. Die Verwendung von QueryTables bietet gegenüber der CopyFromRecordset-Methode mehrere Vorteile:

  • Excel übernimmt die Erstellung des Recordsets und dessen Platzierung im Arbeitsblatt.
  • Die Abfrage kann mit der QueryTable gespeichert werden, sodass sie zu einem späteren Zeitpunkt aktualisiert werden kann, um ein aktualisiertes Recordset abzurufen.
  • Wenn dem Arbeitsblatt eine neue QueryTable hinzugefügt wird, können Sie angeben, dass bereits in Zellen auf dem Arbeitsblatt vorhandene Daten verschoben werden sollen, um die neuen Daten zu berücksichtigen (weitere Informationen finden Sie unter der RefreshStyle-Eigenschaft).

Der folgende Code veranschaulicht, wie Sie Excel 2000, Excel 2002 oder Office Excel 2003 automatisieren können, um eine neue QueryTable in einem Excel-Arbeitsblatt mithilfe von Daten aus der Northwind-Beispieldatenbank zu erstellen:

'Create a new workbook in Excel    
Dim oExcel As Object    
Dim oBook As Object    
Dim oSheet As Object    
Set oExcel = CreateObject("Excel.Application")    
Set oBook = oExcel.Workbooks.Add    
Set oSheet = oBook.Worksheets(1)        

'Create the QueryTable    
Dim sNWind As String    
sNWind = _       
   "C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"    
Dim oQryTable As Object    
Set oQryTable = oSheet.QueryTables.Add( _    
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _       
sNWind & ";", oSheet.Range("A1"), "Select * from Orders")    oQryTable.RefreshStyle = xlInsertEntireRows    
oQryTable.Refresh False        

'Save the Workbook and Quit Excel    
oBook.SaveAs "C:\Book1.xls"    
oExcel.Quit

Verwenden der Zwischenablage

Die Windows-Zwischenablage kann auch als Mechanismus zum Übertragen von Daten in ein Arbeitsblatt verwendet werden. Um Daten in mehrere Zellen eines Arbeitsblatts einzufügen, können Sie eine Zeichenfolge kopieren, in der Spalten durch Tabstoppzeichen und Zeilen durch Wagenrückläufe getrennt sind. Der folgende Code veranschaulicht, wie Visual Basic sein Clipboard-Objekt verwenden kann, um Daten nach Excel zu übertragen:

'Copy a string to the clipboard    
Dim sData As String    
sData = "FirstName" & vbTab & "LastName" & vbTab & "Birthdate" & vbCr _            & "Bill" & vbTab & "Brown" & vbTab & "2/5/85" & vbCr _            
    & "Joe" & vbTab & "Thomas" & vbTab & "1/1/91"    
Clipboard.Clear     
Clipboard.SetText sData        

'Create a new workbook in Excel    
Dim oExcel As Object    
Dim oBook As Object    
Set oExcel = CreateObject("Excel.Application")    
Set oBook = oExcel.Workbooks.Add         

'Paste the data    
oBook.Worksheets(1).Range("A1").Select    
oBook.Worksheets(1).Paste        

'Save the Workbook and Quit Excel    
oBook.SaveAs "C:\Book1.xls"    
oExcel.Quit

Erstellen einer durch Trennzeichen getrennten Textdatei, die Excel in Zeilen und Spalten analysieren kann

Excel kann Dateien mit Tabstopp- oder Kommatrennzeichen öffnen und die Daten ordnungsgemäß in Zellen analysieren. Sie können dieses Feature nutzen, wenn Sie eine große Datenmenge in ein Arbeitsblatt übertragen möchten, während Sie nur wenig Automatisierung verwenden möchten. Dies kann ein guter Ansatz für eine Client-Server-Anwendung sein, da die Textdatei serverseitig generiert werden kann. Anschließend können Sie die Textdatei auf dem Client öffnen, indem Sie automation verwenden, wo dies angebracht ist.

Der folgende Code veranschaulicht, wie Sie eine durch Trennzeichen getrennte Textdatei aus einem ADO-Recordset erstellen können:

'Create a Recordset from all the records in the Orders table    
Dim sNWind As String    
Dim conn As New ADODB.Connection   
Dim rs As ADODB.Recordset    
Dim sData As String    
sNWind = _       
   "C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _       sNWind & ";"    
conn.CursorLocation = adUseClient    
Set rs = conn.Execute("Orders", , adCmdTable)        

'Save the recordset as a tab-delimited file    
sData = rs.GetString(adClipString, , vbTab, vbCr, vbNullString)    
Open "C:\Test.txt" For Output As #1    
Print #1, sData    
Close #1         

'Close the connection    
rs.Close    
conn.Close        

'Open the new text file in Excel    
Shell "C:\Program Files\Microsoft Office\Office\Excel.exe " & _       Chr(34) & "C:\Test.txt" & Chr(34), vbMaximizedFocus

Hinweis Wenn Sie die Office 2007-Version der Northwind-Datenbank verwenden, müssen Sie die folgende Codezeile im Codebeispiel ersetzen:

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _       
   sNWind & ";"

Ersetzen Sie diese Codezeile durch die folgende Codezeile:

conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _       
   sNWind & ";"

Wenn Ihre Textdatei über eine .CSV Erweiterung verfügt, öffnet Excel die Datei ohne Anzeige des Textimport-Assistenten und geht automatisch davon aus, dass die Datei durch Trennzeichen getrennt ist. Wenn Ihre Datei über eine .TXT Erweiterung verfügt, analysiert Excel die Datei automatisch mithilfe von Tabstopptrennzeichen.

Im vorherigen Codebeispiel wurde Excel mit der Shell-Anweisung gestartet, und der Name der Datei wurde als Befehlszeilenargument verwendet. Im vorherigen Beispiel wurde keine Automatisierung verwendet. Wenn dies jedoch gewünscht ist, können Sie eine minimale Automatisierung verwenden, um die Textdatei zu öffnen und im Excel-Arbeitsmappenformat zu speichern:

'Create a new instance of Excel    
Dim oExcel As Object    
Dim oBook As Object    
Dim oSheet As Object    
Set oExcel = CreateObject("Excel.Application")            

'Open the text file   
 Set oBook = oExcel.Workbooks.Open("C:\Test.txt")        

'Save as Excel workbook and Quit Excel    
oBook.SaveAs "C:\Book1.xls", xlWorkbookNormal    
oExcel.Quit

Übertragen von Daten an ein Arbeitsblatt mithilfe von ADO

Mithilfe des Microsoft Jet OLE DB-Anbieters können Sie einer Tabelle in einer vorhandenen Excel-Arbeitsmappe Datensätze hinzufügen. Eine "Tabelle" in Excel ist lediglich ein Bereich mit einem definierten Namen. Die erste Zeile des Bereichs muss die Kopfzeilen (oder Feldnamen) enthalten, und alle nachfolgenden Zeilen enthalten die Datensätze. Die folgenden Schritte veranschaulichen, wie Sie eine Arbeitsmappe mit einer leeren Tabelle namens MyTable erstellen können.

Excel 97, Excel 2000 und Excel 2003
  1. Starten Sie eine neue Arbeitsmappe in Excel.

  2. Fügen Sie den Zellen A1:B1 von Sheet1 die folgenden Überschriften hinzu:

    A1: FirstName B1: LastName

  3. Formatieren Sie Zelle B1 als rechtsbündig.

  4. Wählen Sie A1:B1 aus.

  5. Wählen Sie im Menü Einfügen die Option Namen und dann Definieren aus. Geben Sie den Namen MyTable ein, und klicken Sie auf OK.

  6. Speichern Sie die neue Arbeitsmappe als C:\Book1.xls, und beenden Sie Excel.

Zum Hinzufügen von Datensätzen zu MyTable mithilfe von ADO können Sie Code wie den folgenden verwenden:

'Create a new connection object for Book1.xls    
Dim conn As New ADODB.Connection    
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _       
    "Data Source=C:\Book1.xls;Extended Properties=Excel 8.0;"    
conn.Execute "Insert into MyTable (FirstName, LastName)" & _       
   " values ('Bill', 'Brown')"    
conn.Execute "Insert into MyTable (FirstName, LastName)" & _       
   " values ('Joe', 'Thomas')"    
conn.Close
Excel 2007
  1. Starten Sie in Excel 2007 eine neue Arbeitsmappe.

  2. Fügen Sie den Zellen A1:B1 von Sheet1 die folgenden Überschriften hinzu:

    A1: FirstName B1: LastName

  3. Formatieren Sie Zelle B1 als rechtsbündig.

  4. Wählen Sie A1:B1 aus.

  5. Klicken Sie im Menüband auf die Registerkarte Formeln , und klicken Sie dann auf Name definieren. Geben Sie den Namen MyTable ein, und klicken Sie dann auf OK.

  6. Speichern Sie die neue Arbeitsmappe als C:\Book1.xlsx, und beenden Sie Excel.

Um der Tabelle MyTable mithilfe von ADO Datensätze hinzuzufügen, verwenden Sie Code, der dem folgenden Codebeispiel ähnelt.

'Create a new connection object for Book1.xls    
Dim conn As New ADODB.Connection    
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _       
   "Data Source=C:\Book1.xlsx;Extended Properties=Excel 12.0;"    
conn.Execute "Insert into MyTable (FirstName, LastName)" & _       
   " values ('Scott', 'Brown')"    
conn.Execute "Insert into MyTable (FirstName, LastName)" & _       
   " values ('Jane', 'Dow')"    
conn.Close

Wenn Sie der Tabelle auf diese Weise Datensätze hinzufügen, wird die Formatierung in der Arbeitsmappe beibehalten. Im vorherigen Beispiel wurden neue Felder, die Spalte B hinzugefügt wurden, rechtsbündig formatiert. Jeder Datensatz, der einer Zeile hinzugefügt wird, übernimmt das Format aus der Zeile darüber.

Beachten Sie, dass beim Hinzufügen eines Datensatzes zu einer Zelle oder Zellen im Arbeitsblatt alle zuvor in diesen Zellen enthaltenen Daten überschrieben werden. Anders ausgedrückt: Zeilen im Arbeitsblatt werden nicht "nach unten verschoben", wenn neue Datensätze hinzugefügt werden. Dies sollten Sie beim Entwerfen des Layouts von Daten auf Ihren Arbeitsblättern beachten.

Hinweis

Die Methode zum Aktualisieren von Daten in einem Excel-Arbeitsblatt mithilfe von ADO oder DAO funktioniert in visual Basic für Anwendungsumgebung in Access 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. Die Methode funktioniert gut in Visual Basic für Anwendungsumgebungen aus anderen Office-Anwendungen, z. B. Word, Excel und Outlook.

Weitere Informationen finden Sie im folgenden Artikel:

Sie können keine Daten in Tabellen ändern, hinzufügen oder löschen, die mit einer Excel-Arbeitsmappe in Office Access 2003 oder Access 2002 verknüpft sind.

Weitere Informationen zur Verwendung von ADO für den Zugriff auf eine Excel-Arbeitsmappe finden Sie unter Abfragen und Aktualisieren von Excel-Daten mithilfe von ADO aus ASP.

Verwenden von DDE zum Übertragen von Daten an Excel

DDE ist eine Alternative zur Automatisierung als Mittel zur Kommunikation mit Excel und zum Übertragen von Daten. Mit dem Aufkommen von Automation und COM ist DDE jedoch nicht mehr die bevorzugte Methode für die Kommunikation mit anderen Anwendungen und sollte nur verwendet werden, wenn keine andere Lösung verfügbar ist.

Zum Übertragen von Daten nach Excel mithilfe von DDE können Sie die LinkPoke-Methode verwenden, um Daten in einen bestimmten Zellbereich zu übertragen, oder Sie verwenden die LinkExecute-Methode, um Befehle zu senden, die Excel ausführt.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie eine DDE-Konversation mit Excel einrichten, sodass Sie Daten in Zellen auf einem Arbeitsblatt anstöbern und Befehle ausführen können. Verwenden Sie dieses Beispiel, damit eine DDE-Konversation erfolgreich in LinkTopic Excel| eingerichtet werden kann.MyBook.xls muss eine Arbeitsmappe mit dem Namen MyBook.xls bereits in einem ausgeführten instance von Excel geöffnet werden.

Hinweis

Wenn Sie Excel 2007 verwenden, können Sie das neue .xlsx-Dateiformat verwenden, um die Arbeitsmappen zu speichern. Stellen Sie sicher, dass Sie den Dateinamen im folgenden Codebeispiel aktualisieren. In diesem Beispiel stellt Text1 ein Textfeld-Steuerelement in einem Visual Basic-Formular dar:

'Initiate a DDE communication with Excel    
Text1.LinkMode = 0    
Text1.LinkTopic = "Excel|MyBook.xls"    
Text1.LinkItem = "R1C1:R2C3"    
Text1.LinkMode = 1        

'Poke the text in Text1 to the R1C1:R2C3 in MyBook.xls    
Text1.Text = "one" & vbTab & "two" & vbTab & "three" & vbCr & _                             
             "four" & vbTab & "five" & vbTab & "six"    
Text1.LinkPoke        

'Execute commands to select cell A1 (same as R1C1) and change the font  format 
Text1.LinkExecute "[SELECT(""R1C1"")]"    
Text1.LinkExecute "[FONT.PROPERTIES(""Times New Roman"",""Bold"",10)]"        

'Terminate the DDE communication    
Text1.LinkMode = 0

Wenn Sie LinkPoke mit Excel verwenden, geben Sie den Bereich in der R1C1-Notation (Row-Column) für das LinkItem-Objekt an. Wenn Sie Daten in mehrere Zellen streichen, können Sie eine Zeichenfolge verwenden, bei der die Spalten durch Tabstopps und Zeilen durch Wagenrückläufe getrennt sind.

Wenn Sie LinkExecute verwenden, um Excel aufzufordern, einen Befehl auszuführen, müssen Sie Excel den Befehl in der Syntax der Excel-Makrosprache (XLM) zuweisen. Die XLM-Dokumentation ist in Excel-Versionen 97 und höher nicht enthalten.
DDE ist keine empfohlene Lösung für die Kommunikation mit Excel. Die Automatisierung bietet die größte Flexibilität und bietet Ihnen mehr Zugriff auf die neuen Features, die Excel zu bieten hat.