die "" funktionieren nicht !
Hier der Code :
Do
Select Case ActiveCell.Value
Case "": Frei(ZählerFrei) = Cells(ActiveCell.Row, 11).Value
ZählerFrei = ZählerFrei + 1
..........blablabla
Do
Select Case ActiveCell.Value
Case "": Frei(ZählerFrei) = Cells(ActiveCell.Row, 11).Value
ZählerFrei = ZählerFrei + 1
..........blablabla
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Select Case Cells(1, 1).Value
Case "": MsgBox "Leer"
Case Else: MsgBox Cells(1, 1).Value
End Select
End Sub
...funktioniert das Ganze nämlich schon, und ich kann keinen Unterschied feststellen. Vielleicht sind Leerzeichen in der Zelle? Dann müsstest du diese durch die Trim()-Funktion eliminieren.
mfg, Matthias
Do
Select Case ActiveCell.Value
Case "": Frei(ZählerFrei) = Frei(ZählerFrei) = Cells(ActiveCell.Row, 11).Value
ZählerFrei = ZählerFrei + 1
Case "1": Frühschicht(ZählerFrühschicht) = Cells(ActiveCell.Row, 11).Value
ZählerFrühschicht = ZählerFrühschicht + 1
Do
Select Case ActiveCell.Value
Case "": Frei(ZählerFrei) = Frei(ZählerFrei) = Cells(ActiveCell.Row, 11).Value
ZählerFrei = ZählerFrei + 1
Case "1": Frühschicht(ZählerFrühschicht) = Cells(ActiveCell.Row, 11).Value
ZählerFrühschicht = ZählerFrühschicht + 1
Do
Select Case ActiveCell.Value
Case "": Frei(ZählerFrei) = Cells(ActiveCell.Row, 11).Value
ZählerFrei = ZählerFrei + 1
Case "1": Frühschicht(ZählerFrühschicht) = Cells(ActiveCell.Row, 11).Value
ZählerFrühschicht = ZählerFrühschicht + 1
Das zweite Beispiel mit Frühschicht geht perfekt. Ich habe noch mehrere, die alle gehen, nur wenn die Zelle leer ist, komme ich nicht zurecht !
Do
Select Case ActiveCell.Value
Case "": Frei(ZählerFrei) = _
Cells(ActiveCell.Row, 11).Value
ZählerFrei = ZählerFrei + 1
Case ""
Frei(ZählerFrei) = Cells(ActiveCell.Row, 11).Value
ZählerFrei = ZählerFrei + 1
Schick mir wenn möglich deine email-Adresse, dann schicke ich dir das ganze mal zum Anschauen ! Wenn ich darf !
Um leere Zellen in Excel mit der Select Case
-Anweisung in VBA anzusprechen, kannst du folgende Schritte befolgen:
Öffne den VBA-Editor in Excel (Alt + F11).
Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject", dann "Einfügen" > "Modul").
Kopiere und füge den folgenden Code ein:
Sub BeispielLeereZellen()
Dim ZählerFrei As Integer
ZählerFrei = 1
Do
Select Case ActiveCell.Value
Case ""
Cells(ZählerFrei, 11).Value = Cells(ActiveCell.Row, 11).Value
ZählerFrei = ZählerFrei + 1
Case "1"
Cells(ZählerFrei, 12).Value = Cells(ActiveCell.Row, 11).Value
ZählerFrei = ZählerFrei + 1
End Select
ActiveCell.Offset(1, 0).Select ' Nächste Zelle auswählen
Loop Until IsEmpty(ActiveCell)
End Sub
Schließe den VBA-Editor und führe das Makro aus.
Fehler: Index außerhalb des gültigen Bereichs
ZählerFrei
) überschreitet die definierte Größe des Arrays. Stelle sicher, dass der Zähler nicht größer ist als die Anzahl der Zellen in deinem Array.Fehler: Leerzeichen in Zellen
Trim()
-Funktion, um unerwünschte Leerzeichen zu entfernen:Case Trim(ActiveCell.Value) = ""
Eine alternative Methode, leere Zellen zu prüfen, ist die Verwendung von If
-Anweisungen:
If IsEmpty(ActiveCell) Then
' Deine Logik hier
End If
Diese Methode kann einfacher zu verstehen sein, wenn du nur grundlegende Bedingungen prüfen möchtest.
Hier sind einige praktische Beispiele, wie du leere Zellen in Excel VBA ansprechen kannst:
Einfaches Beispiel mit Select Case
:
Select Case ActiveCell.Value
Case ""
MsgBox "Zelle ist leer"
Case Else
MsgBox "Zelle hat Wert: " & ActiveCell.Value
End Select
Zählen der leeren Zellen in einem Bereich:
Dim leerZellen As Integer
leerZellen = 0
For Each Zelle In Range("A1:A10")
If IsEmpty(Zelle) Then
leerZellen = leerZellen + 1
End If
Next Zelle
MsgBox "Anzahl leerer Zellen: " & leerZellen
Debugging: Nutze die Debug.Print
-Anweisung, um Werte während der Ausführung deines Codes zu überwachen. Dies kann helfen, Fehler schneller zu identifizieren.
Verwende Option Explicit
: Setze am Anfang deines Moduls Option Explicit
, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Tippfehler und andere Probleme zu vermeiden.
Vermeide magische Zahlen: Verwende Konstanten oder benannte Bereiche, um den Code wartungsfreundlicher zu gestalten.
1. Wie kann ich leere Zellen in einer bestimmten Spalte ansprechen?
Du kannst den Bereich anpassen, indem du in der Schleife nur die gewünschte Spalte durchgehst, z.B. Range("B1:B10")
.
2. Was kann ich tun, wenn mein Code nicht funktioniert, obwohl alles korrekt aussieht? Überprüfe, ob du die richtigen Zellen und Indizes verwendest. Nutze Debugging-Tools in VBA, um den Code Schritt für Schritt durchzugehen.
3. Gibt es eine Möglichkeit, leere Zellen in Excel automatisch zu formatieren? Ja, du kannst bedingte Formatierung nutzen, um leere Zellen hervorzuheben. Gehe zu "Start" > "Bedingte Formatierung" > "Neue Regel" und wähle "Formel zur Ermittlung der zu formatierenden Zellen verwenden".
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen