Nachdem ich das letzte Mal gezeigt habe, wie man auf Knopfdruck ein “Hello World” Dialog in Excel 2003 erscheinen lassen kann, probieren wir diesmal den Wert direkt in die Zelle einzufügen. Dafür gibt es wahrscheinlich, wie in kaum einer anderen Programmiersprache, unendliche viele Möglichkeiten.

Wir beschränken uns wie bisher auf das Notwendigste. Ein Button und eine Sub Funktion “Schaltfläche1_BeiKlick”.

Die wohl einfachste Möglichkeit ist diese:

[PHP]
Sub Schaltfläche1_BeiKlick()

ActiveWorkbook.ActiveSheet.Cells(1, 1) = “Hello World”

End Sub
[/PHP]

Damit ich jetzt nicht immer zwischen Text und Codeboxen und hin und her wechseln muss, schreibe ich die Kommentare direkt in den Code. Kommentare werden in VBA mit ” ‘ ” gekennzeichnet

[PHP]
Sub Schaltfläche1_BeiKlick()

‘ Aktuelle_Datei.Aktuelles_Tabellenblatt.Zellen(Zeile, Spalte’
ActiveWorkbook.ActiveSheet.Cells(1, 1) = “Hello World”

‘ Ein bisschen schöner’
ActiveWorkbook.ActiveSheet.Cells(2, 1).Value = “Hello World”

‘ Mit festen Werten’
Workbooks(“VBAMakro.xls”).Sheets(“Tabelle1”).Cells(3, 1) = “Hello World”

‘ Statt Cells einfach Range verwenden, jedoch kommt jetzte die Spalte zuerst’
Workbooks(“VBAMakro.xls”).Sheets(“Tabelle1”).Range(“A4”) = “Hello World”

‘ Reiner Text durch Formeln ersetzen’
ActiveWorkbook.ActiveSheet.Cells(5, 1).Value = “=1+1”
‘ Ausgabe: 2 ‘

‘ Funktioniert auch ohne Value’
ActiveWorkbook.ActiveSheet.Cells(6, 1) = “=1+1”

End Sub
[/PHP]

Was am Anfang sicherlich ungewöhnlich ist, das bei Cells und Range die Spaltenangabe bzw. die Zeilenangabe vertauscht ist.

Anmerkung: Das ‘ am Ende jeden Kommentars ist nicht zwingend notwendig, aber es sieht dann in der Codeansicht einfach besser aus.