Excel VBA – Alle Zellen in dem markierten Bereich bearbeiten (Großschreibung / Kleinschreibung)

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

In diesem Artikel zeige ich wie Sie mit einer For Each Schleife alle Zellen in dem markierten Bereich durchlaufen können.
Dabei werden die Texte in Zellen in Großbuchstaben bzw. Kleinbuchstaben verwandelt.
Ausgangstabelle
Um das VBA Makro anzulegen, wechseln Sie mit der Tastenkombination ALT+F11 in die Entwicklungsumgebung und fügen Sie ein neues Modul ein. Definieren Sie zunächst eine Variable vom Typ Range. Über diesen Typ haben Sie Zugriff auf alle Funktionen die für eine Zelle verfügbar sind. Die Deklaration sieht zunächst wie folgt aus:

Sub BereichFormatieren()
Dim Zelle As Range

End Sub

Nun gehen wir mit einer Schleife alle Zellen in dem markierten Bereich durch.

For Each Zelle In Selection

Next Zelle

Wir wollen alle Inhalte in Großbuchstaben umwandeln. Dafür weisen wir der jeweiligen Zelle einen neuen Wert zu. Der schon vorhandene Wert wird über die Funktion UCase (Upper Case) umgewandelt.

Sub BereichFormatieren()
Dim Zelle As Range

For Each Zelle In Selection
Zelle.Value = UCase(Zelle.Value)
Next Zelle

End Sub

Ergebnis Großschreibung

Wenn Sie die Inhalte in Kleinbuchstaben umwandeln wollen verwenden Sie die Funktion LCase (Lower Case).

Sub BereichFormatieren()
Dim Zelle As Range

For Each Zelle In Selection
Zelle.Value = LCase(Zelle.Value)
Next Zelle

End Sub

Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - Schritt für Schritt Anleitungen die jeder versteht
Fordere kostenlos 20 Excel Tricks an

Fordere das kostenlose eBook an

* Pflichtfeld
 
Kein SPAM. 100% sicher

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

Excel VBA – Leere Spalten ausblenden

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

In diesem Beitrag zeige ich wie Sie leere Spalten mithilfe einer Schleife finden und verstecken können.
Ich habe folgende Werte in meine Tabelle eingetragen.
Leere Spalten
Nun schreiben wir unser Makro. Definieren Sie zunächst zwei Variablen für die Spalten.

Sub SpaltenVerstecken()
Dim Spalte As Integer
Dim SpalteEnd As Integer

End Sub

Danach geben wir an mit welcher Tabelle wir arbeiten wollen.

With Tabelle1

End With

Nun ermitteln wir wieviele Spalten in der Tabelle verwendet werden. Die Anzahl der Spalten wird in der Variable SpalteEnd gespeichert.

SpalteEnd = .UsedRange.Columns.Count

Nun wissen wir welche Spalte die letzte ist. Wir gehen nun alle Spalten durch, von der ersten bis zur letzten. Dabei prüfen wir ob die Zelle in der ersten Zeile der jeweiligen Spalte leer ist.

For Spalte = 1 To SpalteEnd
If .Cells(1, Spalte).Value = "" Then

End If
Next Spalte

Wenn die Bedingung zutrifft blenden wir die jeweilige Spalte über die Eigenschaft Hidden aus. Wenn ein Wert vorhanden ist blenden wir die Spalte ein.

If .Cells(1, Spalte).Value = "" Then
.Columns(Spalte).Hidden = True
Else
.Columns(Spalte).Hidden = False
End If

Führen Sie Ihr Makro aus und wechseln Sie in die Tabelle1.
Die leeren Spalten wurden versteckt.
Leere Spalten wurden versteckt

Das komplette Makro:

Sub SpaltenVerstecken()
Dim Spalte As Integer
Dim SpalteEnd As Integer

With Tabelle1
SpalteEnd = .UsedRange.Columns.Count

For Spalte = 1 To SpalteEnd
If .Cells(1, Spalte).Value = "" Then
.Columns(Spalte).Hidden = True
Else
.Columns(Spalte).Hidden = False
End If

Next Spalte

End With
End Sub

Um alle Spalten wieder einzublenden können Sie das folgende Makro verwenden

Sub AlleSpaltenEinblenden()

Tabelle1.Columns.Hidden = False

End Sub

Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - Schritt für Schritt Anleitungen die jeder versteht
Fordere kostenlos 20 Excel Tricks an

Fordere das kostenlose eBook an

* Pflichtfeld
 
Kein SPAM. 100% sicher

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

Excel VBA – Tabellen über eine Schleife ausblenden

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

In diesem Artikel zeige ich wie Sie alle Tabellen außer Tabelle1 ausblenden können. Dazu verwenden wir eine Schleife die prüft ob der Name der jeweiligen Tabelle „Tabelle1“ ist oder nicht.
Fangen wir mit der Typdeklaration an. Deklarieren Sie zunächst eine Variable vom Typ Integer.

Sub TabellenAusblenden()
Dim intTabelle As Integer

End Sub

Nun schreiben wir eine Schleife die bei der ersten Tabelle anfängt und alle Tabellen in der aktiven Mappe durchgeht. Mit ActiveWorkbook.Worksheets.Count wird die letzte Tabelle bestimmt.

For intTabelle = 1 To ActiveWorkbook.Worksheets.Count

Next intTabelle

Innerhalb der Schleife prüfen wir ob der Name der jeweiligen Tabelle „Tabelle1“ ist oder nicht. Wenn der Name der jeweiligen Tabelle nicht „Tabelle1“ lautet wird diese über die Eigenschaft (bzw. Attribut) Visible ausgeblendet.

If ActiveWorkbook.Worksheets(intTabelle).Name <> "Tabelle1" Then
ActiveWorkbook.Worksheets(intTabelle).Visible = False
End If

Wenn Sie das Makro nun ausführen, sehen Sie das nur noch die Tabelle1 sichtbar ist.

Sub TabellenAusblenden()
Dim intTabelle As Integer

For intTabelle = 1 To ActiveWorkbook.Worksheets.Count

If ActiveWorkbook.Worksheets(intTabelle).Name <> "Tabelle1" Then
ActiveWorkbook.Worksheets(intTabelle).Visible = False
End If

Next intTabelle
End Sub

Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - Schritt für Schritt Anleitungen die jeder versteht
Fordere kostenlos 20 Excel Tricks an

Fordere das kostenlose eBook an

* Pflichtfeld
 
Kein SPAM. 100% sicher

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

Excel VBA – Wochenenden hervorheben

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.
Hallo, in diesem Artikel zeige ich Ihnen wie Sie mithilfe von einer For Next Schleife Wochenden in einer Zelle farblich markieren können.
In der unteren Tabelle sehen Sie links das Datum und rechts den dazugehörigen Wochentag (Format TTTT).
Wochenenden
Wir wollen nun bei allen Zellen, die einen Samstag bzw. Sonntag enthalten, einen blauen Hintergrund hinterlegen. Dazu verwenden wir die Eigenschaft ColorIndex des Objekts Interior (Hintergrund der Zelle). Anbei ein Überblick über die verschiedenen Farben.

ColorIndex Werte

ColorIndex Werte (c) MSDN Microsoft

Zunächst definieren wir zwei Variablen für die Schleife sowie die Tabelle mit der wir arbeiten wollen.

Sub WochenendenHervorheben()
Dim Zeile As Long
Dim ZeileEnd As Long

With Tabelle1

End With
End Sub

Nun zählen wir die Anzahl von Zeilen in dem verwendeten Bereich und schreiben diese in die Variable ZeileEnd. Damit haben wir die letzte Zeile.

ZeileEnd = .UsedRange.Rows.Count

Nun lassen wir alle Zeilen, von der ersten bis zur letzten, durchgehen.

For Zeile = 1 To ZeileEnd

Next Zeile

Innerhalb der Schleife prüfen wir ob der Inhalt der jeweiligen Zelle in der ersten Spalte, also das Datum, ein Wochenende ist. Für diese Prüfung verwenden wir die Funktion Weekday. Diese Funktion liefert uns für den Sonntag den Wert 1 und für den Samstag den Wert 7.

If Weekday(.Cells(Zeile, 1).Value) = 1 Or Weekday(.Cells(Zeile, 1).Value) = 7 Then

Else

End If

Wenn ein Wochenende ermittelt wird der Hintergrund mit der Farbe blau (ColorIndex 23) eingefärbt. Ansonsten werden evtl. vorhandenen Hintergrundfarben entfernt. Dazu verwenden wir die Konstante xlColorIndexNone.

If Weekday(.Cells(Zeile, 1).Value) = 1 Or Weekday(.Cells(Zeile, 1).Value) = 7 Then
.Cells(Zeile, 1).Interior.ColorIndex = 23
Else
.Cells(Zeile, 1).Interior.ColorIndex = xlColorIndexNone
End If

Führen Sie nun das Makro aus und betrachten Sie das Ergebnis.
Wochenenden Ergebnis

Anbei das komplette Makro:

Sub WochenendenHervorheben()
Dim Zeile As Long
Dim ZeileEnd As Long

With Tabelle1

ZeileEnd = .UsedRange.Rows.Count
For Zeile = 1 To ZeileEnd
If Weekday(.Cells(Zeile, 1).Value) = 1 Or Weekday(.Cells(Zeile, 1).Value) = 7 Then
.Cells(Zeile, 1).Interior.ColorIndex = 23
Else
.Cells(Zeile, 1).Interior.ColorIndex = xlColorIndexNone
End If
Next Zeile

End With
End Sub

Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - Schritt für Schritt Anleitungen die jeder versteht
Fordere kostenlos 20 Excel Tricks an

Fordere das kostenlose eBook an

* Pflichtfeld
 
Kein SPAM. 100% sicher

Quellen:
Adding Color to Excel Worksheets by Using the ColorIndex Property
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Bildnachweis:
MSDN Microsoft

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

Excel VBA – Alle verwendete Zeilen bearbeiten

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.
In diesem Beitrag zeige ich Ihnen wie sie alle verwendeten Zeilen mithilfe einer Schleife abarbeiten können. Dabei wird geprüft ob der Wert in Spalte A größer als 100 ist. Wenn es der Fall ist wird die jeweilige Zelle Fett formatiert.
Schleife

Zunächst definieren wir zwei Variablen für die Zeilen.

Sub Schleife()
Dim Zeile As Long
Dim ZeileEnd As Long

End Sub

Danach bestimmen wir mit welcher Tabelle wir arbeiten wollen.

Sub Schleife()
Dim Zeile As Long
Dim ZeileEnd As Long

With Tabelle1

End With
End Sub

Nun prüfen wir wieviele Zeilen in dieser Tabelle verwendet werden. Damit wissen wir welche Zeile die letzte ist. Diese schreiben wir in die Variable ZeileEnd.

Sub Schleife()
Dim Zeile As Long
Dim ZeileEnd As Long

With Tabelle1
ZeileEnd = .UsedRange.Rows.Count

End With
End Sub

Jetzt können wir unsere Schleife schreiben. Diese beginnt mit der Anweisung For und endet mit der Anweisung Next.
Wir fangen mit der ersten Zeile an und hören auf sobald die letzte Zeile erreicht wurde.

Sub Schleife()
Dim Zeile As Long
Dim ZeileEnd As Long

With Tabelle1
ZeileEnd = .UsedRange.Rows.Count

For Zeile = 1 To ZeileEnd

Next Zeile

End With
End Sub

Innerhalb dieser Schleife prüfen wir ob der Wert in der ersten Spalte (A) der jeweiligen Zeile über 100 liegt.

For Zeile = 1 To ZeileEnd
If .Cells(Zeile, 1).Value > 100 Then

End If
Next Zeile

Wenn es der Fall ist, wird die Zelle fett formatiert.

For Zeile = 1 To ZeileEnd
If .Cells(Zeile, 1).Value > 100 Then
.Cells(Zeile, 1).Font.Bold = True
End If
Next Zeile

Starten Sie das Makro nun mit (F5) und wechseln Sie in die Tabelle. Wie Sie sehen wurden alle Werte über 100 fett formatiert.
Ergebnis Formatierung

Das gesamte Makro:

Sub Schleife()
Dim Zeile As Long
Dim ZeileEnd As Long

With Tabelle1
ZeileEnd = .UsedRange.Rows.Count

For Zeile = 1 To ZeileEnd
If .Cells(Zeile, 1).Value > 100 Then
.Cells(Zeile, 1).Font.Bold = True
End If
Next Zeile

End With
End Sub

Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - Schritt für Schritt Anleitungen die jeder versteht
Fordere kostenlos 20 Excel Tricks an

Fordere das kostenlose eBook an

* Pflichtfeld
 
Kein SPAM. 100% sicher

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.