PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Excel tabelle in ein Visual-Basic array übernehmen



Michael 123
20.10.2006, 13:01
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

AVRBot
11.11.2006, 13:40
Hallo,
willst Du das in Excel machen (also VBA) oder direkt in Visual Basic ?

Grüße
David

Michael 123
11.11.2006, 15:34
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

AVRBot
11.11.2006, 20:53
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

Michael 123
11.11.2006, 21:25
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

AVRBot
11.11.2006, 21:42
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