Kontrollstrukturen

Und hier könnte man jetzt richtig für Buchseiten sorgen. Im Grunde sollte man für alle Grundkonstrukte einer Programmiersprache (hier: Skriptsprache) die üblichen Code-Gerüste parat haben.

Die Frage ist nur, ob man sich hier ausführliche Beispiele hinterlegt, oder einfach der Code Vervollstängigung des Wahl-Editors folgt und ja doch oft die Codes fertig via Copy & Paste bereitstellt.

Wir schauen uns das mal grob an und schauen dann im VBA-Editor weiter.

Verwzeigungen

Je nach Zeit werden wir in den Seminare die hier notwendigen Beipiele mehr oder weniger intensiv durchgehen.

  • If … End If

  • If … Then … Else … End If

  • IIf( Bedingung, Then, Else)

  • Select Case … Case(s) … End Select

Übungen: Beispiel-Codes für TN werden von mir bereitgestellt.

Schleifen

  • For … To … Next

  • For Each … Next

  • With … End With

  • Do Until … Loop

  • Do While … Loop

Übungen: Beispiel-Codes für TN werden von mir bereitgestellt.

Aber ein wenig soll auch an dieser Stelle dargestellt werden.

Einfache Codes Kontrollstrukturen

Wochenenden kennzeichnen

Codebeispiel Wochenenden kennzeichnen

Abb. 69 Codebeispiel - Wochenenden kennzeichnen

Hier ein der Beispielcode (mit With ... End With):

Quellcode 9 Beispielcode With - Wochenenden kennzeichnen
Sub WochenendenKennzeichnen()
Dim lngSpalte As Long
Dim lngSpalteMax As Long

With Tabelle4

   .Rows(1).Interior.ColorIndex = xlColorIndexNone
   lngSpalteMax = .Cells(1, .Columns.Count).End(xlToLeft).Column

   For lngSpalte = 1 To lngSpalteMax

      If IsDate(.Cells(1, lngSpalte).Value) Then

         If Weekday(.Cells(1, lngSpalte).Value, vbMonday) > 5 Then
         ' .Cells(1, lngSpalte).Interior.ColorIndex = 4
         ' .Cells(1, lngSpalte).Interior.Color = RGB(0, 0, 255)
         .Cells(1, lngSpalte).Interior.ThemeColor = xlThemeColorAccent1
         End If

      End If

   Next lngSpalte

End With

End Sub

Im Code kann man drei unterschiedliche Farbzuweisungen erkennen. Hier ist die letzte Variante sicherlich die Professionellste, da wir die gewünschten Designfarben der Office-Umgebung nutzen (hier: Akzentfarbe 1).

Werte in Spalten suchen

Der Code soll einen Wert in einer Spalte suchen, finden und hervorheben.

Code Beispiel - Werte in Spalte suchen

Abb. 70 Code Beispiel - Werte in Spalte suchen

Hier folgt der VBA-Code zur Umsetzung.

Quellcode 10 Wert in Spalte finden und hervorheben
' Variante: JoeB

Sub WerteInSpalteSuchen()
Dim rngTreffer As Range
Dim strNoTreffer As String
Dim strSuchbegriff As String
Dim lngZeile As Long
Dim lngZeileMax As Long

   Tabelle1.Range("A:A").Interior.ColorIndex = xlColorIndexNone
   strSuchbegriff = InputBox("Suchbegriff eingeben!", "Direktsuche", 4720)

   With Tabelle1
      lngZeileMax = .UsedRange.Rows.Count


      For lngZeile = 2 To lngZeileMax

         Set rngTreffer = Tabelle1.Range("A" & lngZeile).Find(What:=strSuchbegriff, LookIn:=xlValues, LookAt:=xlWhole)

         If rngTreffer Is Nothing Then
            temp = Tabelle1.Range("A" & lngZeile).Address
            strNoTreffer = strNoTreffer & " " & temp
         Else
            rngTreffer.Interior.ColorIndex = 4
         End If

      Next lngZeile

   End With

   MsgBox "Wert in den Zellen " & strNoTreffer & " nicht gefunden!"

End Sub