VBA: Ein paar lose zusammengestellte Konstrukte für Excel

Zuletzt aktualisiert am 25. Dezember 2023 von Lars

Relativ selten komme ich in die Verlegenheit, etwas mit Excel-Makros machen zu müssen. Meist muss ich dann mein altes Wissen wieder umständlich irgendwo hervor kramen. Daher hier mal ein paar Stichpunkte.

Zellen manipulieren

Excel-Zellen spricht man über den Befehl Cells an. Als Parameter gibt man die Zeile und die Spalte an. Auch die Zeile wird numerisch angegeben, also A=1, B=2...

var = Cells (1, 1)

Schleife über mehrere Zeilen

    For Rows = RowStart To RowEnd
        Jahr = Trim(Cells(Rows, 15))
        'Mach was mit Jahr....    
    Next Rows
    Trim()

Trim schneidet eventuell führende oder nachfolgende Leerzeichen von einem Sting ab

Zellen einfärben

Cells(i, 2).Interior.ColorIndex = 3 'rot

Verschiedene Farben stehen hier zur Auswahl, z.B.

12345678910

Weitere bei http://excelwelt.de/excelallg/farb.html.

Nützliche Funktionen

IsDiskFolder

Liefert True zurück, wenn der Ordner fName existiert

 
Function IsDiskFolder(ByVal fName As String) As Boolean
     'liefert True zurück, wenn der Ordner existiert

     If (Dir(fName, vbDirectory) <> "") Then
         IsDiskFolder = True
     Else
         IsDiskFolder = False
     End If

End Function 

Replace

Ersetzt im String zu_durchsuchender_Text den Teilsting Was_ersetzen mit durch_was_ersetzen.

 
Public Function Replace(ByVal zu_durchsuchender_Text As String, _
   ByVal Was_ersetzen As String, ByVal durch_was_ersetzen As String)
    If Was_ersetzen = "" Then Exit Function
    If zu_durchsuchender_Text = "" Then Exit Function
    Dim I As Integer, L As Integer, t As String, P As Integer
    L = Len(Was_ersetzen)
    P = InStr(1, zu_durchsuchender_Text, Was_ersetzen, vbTextCompare)
    While P > 0
        t = t & Left(zu_durchsuchender_Text, P - 1) & durch_was_ersetzen
        zu_durchsuchender_Text = Mid(zu_durchsuchender_Text, P + L)
        P = InStr(zu_durchsuchender_Text, Was_ersetzen)
    Wend
    Replace = t & zu_durchsuchender_Text
End Function 
Du willst meine Arbeit unterstützen? Dann freue ich mich über eine kleine Spende!

Schreibe einen Kommentar