Kommunikation VBA <-> Excel

Der O

Mitglied
Hallo,

ich habe eine (für viele sicher sehr einfache) Frage:

Wie realisiert man die Kommunikation zwischen einem VBA Programm und einem Excel Sheet?

Das VBA programm soll einfach nur Daten aus dem Excle Sheet auslesen und welche in die Excel Datei schreiben.

- Wie sage ich VBA welche Excel Datei geöffnet werden soll?
- Wie sehen die Befehle aus zum auslesen bzw. schreiben in die Datei?

Ich hab schon recherchiert, aber die Ergebnisse waren immer verwurschtelte Programme.... Mir geht es rein um die Syntax, da ich hier scheinbar (Fehlermeldungen, wie z.B. "Objekt erwartet") große Fehler mache.

Vielen Dank!
:)
 

Orakel

Erfahrenes Mitglied
Moin,

generell lassen sich alle Deine Fragen dadurch beantworten, dass Du einfach ein Makro aufzeichnest, dass die Aktionen ausführt, die Du benötigst. IMHO ist der Makrocode zwar nicht immer der effektivste, aber auf jeden Fall erfährt man so, wie man die einzelnen Aufgabenstellungen angehen muss. Für Deine Fragen aber hier mal ein kleines Beispiel, dass mit Excel erstellt wurde.

Code:
Private Sub Beispiel()
    Dim oWorkbook                           As Workbook

    Rem ===================================================
    Rem == Eine Exceldatei öffnen.                       ==
    Rem ===================================================
    Set oWorkbook = Application.Workbooks.Open("D:\Temp\Mappe1.xls")

    Rem ===================================================
    Rem == Tabelle sichtbar machen.                      ==
    Rem ===================================================
    oWorkbook.Activate

    Rem ===================================================
    Rem == Einen Wert in eine Zelle schreiben.           ==
    Rem ===================================================
    oWorkbook.Sheets("Tabelle1").Range("B10").Value = 100

    Rem ===================================================
    Rem == Einen Wert aus einer Zelle lesen.             ==
    Rem ===================================================
    MsgBox oWorkbook.Sheets("Tabelle1").Range("A1").Value

    Rem ===================================================
    Rem == Exceldatei schließen.                         ==
    Rem ===================================================
    oWorkbook.Close
End Sub

Gruß
Das Orakel
 
Zuletzt bearbeitet:

Der O

Mitglied
Hallo Orakel,

ja, das reicht mir völlig und klärt alle meine Fragen!

Vielen Dank dafür!
 
Y

yvo

Hi,

coole Sache, ein Stück weit läuft das bei mir auch, zumindest fängt das Ding an, die aufgerufenen Dateien zu öffnen. Könnte man letzteres bei der Sache vermeiden? Ich baue mir ja eine Schleife, um nicht auf unmengen von Dateien einzeln zugreifen zu müssen, aber ich will nur die Werte daraus und nicht > 40 Dateien tatsächlich geöffnet auf dem Bildschirm haben ;-)

Ansonsten hängt´s bei mir momentan an einem "Ein in der Formel verwendeter Wert ist vom falschen Datentyp".

Freue mich über Tipps!

Gruß
Yvonne
 

Neue Beiträge