Sepp hat mir Anfang September einen Code zusammengestellt, mit dem man via ADO Daten in eine "geschlossenen" Arbeitsmappe schreiben kann.
Der Code sieht folgendermaßen aus:
Sub updateData()
Dim ExcelTable As Object
Dim Path As String, Table As String, SourceRange As String
Dim SQL As String, Con As String
Dim Seriennummer As String
Path = "C:\Datenbank\Mappe1.xls" ' Dateiname - Anpassen!
Table = "Tabelle2" ' Tabellenname - Anpassen
SourceRange = "A1:A2" ' Bereich - Anpassen!
Seriennummer = ThisWorkbook.Worksheets("Tabelle3").Range("A1").Value
SQL = "select * from [" & Table & "$" & SourceRange & "]"
If Right(Path, 3) = "xls" Then
Con = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Extended Properties=Excel 8.0;" _
& "Data Source=" & Path & ";"
ElseIf Right(Path, 4) = "xlsx" Or Right(Path, 4) = "xlsm" Then
Con = "Provider=Microsoft.ACE.OLEDB.12.0;" _
& "Extended Properties=""Excel 12.0;HDR=YES"";" _
& "Data Source=" & Path & ";"
End If
Set ExcelTable = CreateObject("ADODB.Recordset")
ExcelTable.Open SQL, Con, 3, 3
With ExcelTable
.Movefirst
.Fields(0) = Seriennummer
.Update
.Close
End With
Set ExcelTable = Nothing
End Sub
Nun suche ich einen Code für den umgekehrten Weg.
Ich möchte via ADO Daten aus einer "geschlossenen" Arbeitsmappe holen.
Die Lösung sollte nicht über eine Formel funktionieren die auf die Mappe verlinkt.
Sondern wirklich über die oben beschriebene Methode.
Könnt ihr mir da helfen?
Viele Grüße
Timo