-
-
Erfahrener Benutzer
Roboter Experte
Excel tabelle in ein Visual-Basic array übernehmen
Hallo,
wie schon der Tread-Name sagt möchte ich eine Excel Tabelle besser gesagt nur eine Spalte einer Excel Tabelle in ein Visual Basic Array übernhmen. Kann mir da jemand einen Code geben da ich in Google nicht fündig geworden bin.
schonmal im Vorraus Danke.
mfg
Michael
-
Neuer Benutzer
Öfters hier
Hallo,
willst Du das in Excel machen (also VBA) oder direkt in Visual Basic ?
Grüße
David
-
Erfahrener Benutzer
Roboter Experte
Hallo,
das ganze soll bzw läuft inzwischen in Visual Basic driekt. aber trotzedem vielen dank das du dich um mich kümmern möchtest.
mfg
Michael
-
Neuer Benutzer
Öfters hier
Hallo Michael,
ich hätte jetzt eine Lösung. Wie viele Zellen sind es denn ? Soll das Programm dann eine bestimmte Anzahl an Zellen einlesen oder soll es so lange einlesen bis nichts mehr in der aktuellen Zelle steht ? Ich würde Dir das Programm dann schicken.
Viele Grüße
David
-
Erfahrener Benutzer
Roboter Experte
Hallo,
eingentliche habe ich das Probelm schon gelöst aber wenn das so ist, schicke mir doch beide dann kann ich vielleicht meines verbessern.
mfg
Michael
-
Neuer Benutzer
Öfters hier
Hallo Michael,
das ist der Code, der jetzt z.B Zelle A1-A31 ausliest:
Private Sub Command1_Click()
'Hier sollen die Daten eingetragen werden
Dim ExcelArray(0 To 30) As String
'Referenz auf Excel (Dem Projekt muss Verweis auf Microsoft Excel 9.0 hinzugefügt sein)
Dim Excel As Object
'Workbook
Dim WorkBK As Object
'Worksheet
Dim WorkSH As Object
'Referenz auf Excel setzen
Set Excel = CreateObject("Excel.Application")
'Hier Pfad ändern ! Öffnet Workbook
Set WorkBK = Excel.Workbooks.Open("C:\Dokumente und Einstellungen\David\Eigene Dateien\Test.xls")
'Referenz auf 1. Worksheet
Set WorkSH = WorkBK.Worksheets(1)
'Alle Daten der Zellen A1 bis A31 auslesen
'und ins Array schreiben
For i = 1 To 31
ExcelArray(i-1) = CStr(WorkSH.Cells(i, 1))
Next i
End Sub
Wenn man bis zur ersten leeren Zelle auslesen will, muss man den Code nehmen:
Private Sub Command1_Click()
Dim i as integer
'Hier sollen die Daten eingetragen werden
Dim ExcelArray() As String
'Referenz auf Excel (Dem Projekt muss Verweis auf Microsoft Excel 9.0 hinzugefügt sein)
Dim Excel As Object
'Workbook
Dim WorkBK As Object
'Worksheet
Dim WorkSH As Object
'Referenz auf Excel setzen
Set Excel = CreateObject("Excel.Application")
'Hier Pfad ändern ! Öffnet Workbook
Set WorkBK = Excel.Workbooks.Open("C:\Dokumente und Einstellungen\David\Eigene Dateien\Test.xls")
'Referenz auf 1. Worksheet
Set WorkSH = WorkBK.Worksheets(1)
'Alle Daten der Zellen auslesen
'und ins Array schreiben
Do
redim preserve ExcelArray(i)
excelarray(i) = cstr(worksh.cells(1,i+1))
i = i +1
Loop until cstr(worksh.cells(1,i)) = ""
End Sub
Ich habe beide Varianten ausprobiert und es haben auch beide funktioniert. Ich hoffe, dass Du damit etwas anfangen kannst.
Grüße
David
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen