Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1092to1096
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen mit Wert 0 löschen

Zellen mit Wert 0 löschen
Mario
Hallo zusammen,
zellen mit wert = 0 zu löschen sollte eigentlich kein Problem sein, aber ich weiß bei untenstehendem Code nicht, wo ich dies einfügen soll. Wenn ich nach IsEmpty(rngZelle) noch ein Or not IsNull(rngZelle) hinsetze, dann verschiebt mir das Makro auch die leeren Zellen....und auch die Zellen mit Wert 0.
Ich möchte aber eigentlich nur untenstehenden Code so ergänzen, dass er bei Zellen mit Wert 0 den Inhalt löscht (clearcontents).
Könnt ihr mir helfen?
With wksWoche
Trefferstart1 = 16
'Startzeile für Treffereinträge im Ergebnisblatt
lngZeileTreffer = Application.WorksheetFunction.Max(Trefferstart1, _
.Cells(.Rows.Count, 6).End(xlUp).Row + 1)
Trefferstart2 = 30
lngZeileKeinTreffer = Application.WorksheetFunction.Max(Trefferstart2, _
.Cells(.Rows.Count, 5).End(xlUp).Row + 1)
End With
iSecond = 3 'Spalte mit Namen in der Anwesenheitsliste
For Each rngZelle In wksSchicht.Range("B11:C14") 'Bereich ggf anpassen
If Not IsEmpty(rngZelle) Then 'leere Zelle überspringen
bln = False
'Name im Wochenblatt-Schichtplan
sTxtA = rngZelle.Value
With wksAnwesend
'Zeilen im Blatt Anwesend in Spalte iSecond abarbeiten
For iRowB = 3 To .Cells(.Rows.Count, iSecond).End(xlUp).Row
If IsEmpty(.Cells(iRowB, iSecond)) Then
'do nothing - leere Zelle überspringen
Else
sTxtB = .Cells(iRowB, iSecond).Value 'Name in Spalte C
'Prüfen, ob Name aus Schichtplan im Namen in Spalte C enthalten ist
If Mid(sTxtA, 1, 8) = Mid(sTxtB, 1, 8) Then
'Treffer
bln = True
Exit For
End If
End If
Next
End With
If bln = False Then
'Kein Treffer
rngZelle.Interior.ColorIndex = FarbeKeinTreffer
'Name in Spalte E eintragen
With wksWoche.Cells(lngZeileKeinTreffer, 5)
.Value = rngZelle.Value
.Interior.ColorIndex = FarbeKeinTreffer
.BorderAround ColorIndex:=1, Weight:=xlThin
End With
'Name im Schichtplan entfernen
With rngZelle
.ClearContents
.Interior.ColorIndex = xlColorIndexNone
End With
lngZeileKeinTreffer = lngZeileKeinTreffer + 1
End If
End If
Next rngZelle

Danke
Tschau
Mario

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zellen mit Wert 0 löschen
10.08.2009 10:42:10
Tino
Hallo,
versuche es mal mit diesem Code um alle Zellen mit dem Wert 0 zu löschen.
Sub Makro1()
Dim rZelle As Range

With Application
 .ScreenUpdating = False
 .EnableEvents = False
    
    Set rZelle = Cells.Find(What:="0", LookIn:=xlValues, LookAt:= _
                xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
                , SearchFormat:=False)
    
    Do While Not rZelle Is Nothing
     rZelle.Value = ""
     Set rZelle = Cells.FindNext(rZelle)
    Loop
 
 .ScreenUpdating = True
 .EnableEvents = True
End With
End Sub
Gruß Tino
Anzeige
AW: Zellen mit Wert 0 löschen
10.08.2009 10:42:11
Ramses
Hallo
Ungetestet aus der Hüfte
If IsEmpty(.Cells(iRowB, iSecond)) Then
'do nothing - leere Zelle überspringen
ElseIf .Cells(iRowB,iSecond) = 0 Then
.Cells(iRowB,iSecond).ClearContents
Else
sTxtB = .Cells(iRowB, iSecond).Value 'Name in Spalte C
'Prüfen, ob Name aus Schichtplan im Namen in Spalte C enthalten ist
If Mid(sTxtA, 1, 8) = Mid(sTxtB, 1, 8) Then
'Treffer
bln = True
Exit For
End If
End If
Gruss Rainer
AW: Zellen mit Wert 0 löschen
10.08.2009 11:50:59
Mario
Vielen Dank,
das Makro 1 haben ich einfach vornedrangefügt. Die elseif Variante hat kein Ergebnis gebracht.
Danke
Tschau
Mario
Anzeige

335 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige