Excel Tabelle in Visual Basic arrary speichern
lima-city → Forum → Programmiersprachen → Basic
anwendung
archiv
base
basic
cell
computer
daten
datenzugriff
defintion
inhalt
installiert hast
interaktion
lsung
option
spalten
steuern
steuerung
tabelle
verfgung
zusammen
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ein simples Beispiel für VBA:
Option Explicit
Option Base 0
Option Compare Binary
Sub Arrays_erstellen()
Const StartZeile As Integer = 2
Const StopZeile As Integer = 22
Const StartSpalte As Integer = 1
Const StopSpalte As Integer = 7
Dim ArrayTabelle() As String
Dim i, j As Integer
ReDim ArrayTabelle(StartZeile To StopZeile, StartSpalte To StopSpalte)
'In Array speichern
For i = StartZeile To StopZeile
For j = StartSpalte To StopSpalte
ArrayTabelle(i, j) = Tabelle1.Cells(i, j)
Next j
Next i
'Wieder in Tabelle zurückschreiben
For i = StartZeile To StopZeile
For j = StartSpalte To StopSpalte
Tabelle2.Cells(i, j) = ArrayTabelle(i, j)
Next j
Next i
'Einen einzelnen Wert aus dem Array anzeigen
MsgBox "Wert in ArrayTabelle(Zeile 5, Spalte 4) = " & ArrayTabelle(5, 4)
'Einen Wert aus dem Array mit einer Zelle vergleichen
If ArrayTabelle(5, 4) = Cells(5, 4) Then
MsgBox "OK. Inhalt der Zelle entspricht dem gespeicherten Wert."
Else
MsgBox "Fehler. Inhalt der Zelle entspricht NICHT dem gespeicherten Wert."
End If
End Sub -
Um Excel-Dateien in Visual Basic bearbeiten (lesen/schreiben/...) zu können, muss die Datei mit ADO abgerufen werden.
Lösung: Benutze den ODBC-Provider zusammen mit dem Microsoft-Excel-ODBC-Treiber.
Es gibt keinen verwalteten Provider und auch keinen OLE DB-Provider für Excel. Du kannst jedoch den ODBC-.NET-Provider zusammen mit dem Mircosoft-Excel-ODBC-Treiber verwende, der mit Excel installiert wird.
Alternative:
Verwende die Automatisierung, um Excel über die COM-Schnittstellen zu steuern, die es offenlegt. Wenn du dich für diese Methode entscheidest, musst du COM Interop und die proprietären Excel-Objekte verwenden. Dies ist nur möglich, wenn du Excel auf demselben Computer wie deine Anwendung installiert hast. In diesem Fall steht dir jedoch eine umfassendere Funktionalität zur Interaktion mit den Daten eines Arbeitsblattes zur Verfügung. -
Hallo,
und nun das ganze bitte auf Deutsch.
Was sind
ADO
ODBC-Provider?
Und die ganzen anderen noch dazu
mfg
Michael -
ADO wird verwendet um Tabellen in DataGrids einzulesen. (Defintionen siehe Wikipedia oder MSDN)
Hier eine sehr einfache Lösung (zu der Alternative, die ich beschrieben habe, also die Steuerung über die COM-Schnittstelle. "Dies ist nur möglich, wenn du Excel auf demselben Computer wie deine Anwendung installiert hast. In diesem Fall steht dir jedoch eine umfassendere Funktionalität zur Interaktion mit den Daten eines Arbeitsblattes zur Verfügung.")
http://www.vbarchiv.net/faq/vbvba_excel.php
(den Code, den ich schon zuvor geschrieben habe, kannst du abwandeln und hier dann verwenden)
(Hier solltest du etwas Ahnung von Access haben, da ähnliche Befehler verwendet werden. Ist komplizierter, bietet aber mehr Optionen)
Für Datenzugriff mit ADO:
http://www.vbarchiv.net/archiv/tipp_details.php?pid=466
oder auch Datenzugriff mit DAO:
http://www.vbarchiv.net/archiv/tipp_details.php?pid=464
Beitrag geaendert: 30.11.2006 16:37:21 von cbhp -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage