Als rij2 leeg is dan verwijderen

Status
Niet open voor verdere reacties.

pvanbrakel

Gebruiker
Lid geworden
2 dec 2010
Berichten
35
Ik ben bezig met een macro maar hij werkt niet altijd goed omdat er soms op rij 2 een lege rij zit ingevoegd. Ik wil dus dat de macro kijkt of rij 2 leeg is of dat hij gegevens bevat. Als hij leeg is moet de rij verwijderd worden, als de rij gegevens bevat dan moet hij blijven staan. Ik heb al op het forum gezocht maar ik kan geen antwoord vinden waar ik zelf wat mee kan.

Dus ik had dit geschreven:

Code:
Sub legerijverwijderen()
Set Row2 = Range("A2:Z2")
    If Row2 Is Empty Then
        Rows("2:2").Delete Shift:=xlUp
    End If
End Sub

Maar dit werkt niet omdat je met set alleen maar 1 cel in kan geven.

Wil iemand mij helpen?

Ik wil dus:
1. Bevat de tweede rij waarden
2. Ja: verwijder de rij niet
3. Nee: verwijder de rij wel

thnQQ
 
Laatst bewerkt:
Code:
Sub legerijverwijderen()
    If WorksheetFunction.CountA([A2:Z2]) <> 0 Then Exit Sub
    Rows("2:2").Delete Shift:=xlUp
End Sub
 
Bedankt, het werkt.

Waar staat onderstaande zin voor?

Code:
.CountA([A2:Z2]) <> 0


Code:
Sub filteren()
    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
    End With
    For Sht = Sheets.Count To 1 Step -1
        If Sheets(Sht).Name <> "All" Then Sheets(Sht).Delete
    Next Sht
        'GoTo Skip
    For SpatieRemove = 1 To Range("IV1").End(xlToLeft).Column + 1
        Cells(1, SpatieRemove).Value = Trim(Cells(1, SpatieRemove).Value)
    Next SpatieRemove
    Set CGZ = Range("A1:Z1").Find("CGZ", LookIn:=xlValues, LookAt:=xlWhole)
    If CGZ Is Nothing Then
        MsgBox "Kan de waarde CGZ niet vinden!"
        Exit Sub
    End If
    Set CGY = Range("A1:Z1").Find("CGY", LookIn:=xlValues, LookAt:=xlWhole)
    If CGY Is Nothing Then
        MsgBox "Kan de waarde CGY niet vinden!"
        Exit Sub
    End If
    Set CGX = Range("A1:Z1").Find("CGX", LookIn:=xlValues, LookAt:=xlWhole)
    If CGX Is Nothing Then
        MsgBox "Kan de waarde CGX niet vinden!"
        Exit Sub
    End If
    [COLOR="red"]Sheets("All").Select[/COLOR]    
    Sheets("All").AutoFilterMode = False
    With Selection
        .AutoFilter Field:=CGZ.Column, Criteria1:=">-10", Operator:=xlAnd, Criteria2:="<12216"
        .AutoFilter Field:=CGY.Column, Criteria1:=">-15300", Operator:=xlAnd, Criteria2:="<15300"
        .AutoFilter Field:=CGX.Column, Criteria1:=">-10500", Operator:=xlAnd, Criteria2:="<62500"
        Sheets("All").Columns("A:Z").Copy
        Sheets.Add
        With ActiveSheet
            .Paste
            .Name = "blok1"
            .[A1].Select
            .Columns.AutoFit
            .Tab.ColorIndex = 5
        End With
        .AutoFilter Field:=CGX.Column, Criteria1:=">62500", Operator:=xlAnd, Criteria2:="<185300"
        Sheets("All").Columns("A:Z").Copy
        Sheets.Add
        With ActiveSheet
            .Paste
            .Name = "blok 234"
            .[A1].Select
            .Columns.AutoFit
            .Tab.ColorIndex = 5
        End With
        .AutoFilter Field:=CGZ.Column, Criteria1:=">12216", Operator:=xlAnd, Criteria2:="<18616"
        .AutoFilter Field:=CGY.Column, Criteria1:=">-10500", Operator:=xlAnd, Criteria2:="<57900"
        Sheets("All").Range("A:Z").Copy
        Sheets.Add
        With ActiveSheet
            .Paste
            .Name = "blok 5aft"
            .[A1].Select
            .Columns.AutoFit
            .Tab.ColorIndex = 5
        End With
        .AutoFilter Field:=CGX.Column, Criteria1:=">57900", Operator:=xlAnd, Criteria2:="<190500"
        .AutoFilter Field:=CGZ.Column, Criteria1:=">12216", Operator:=xlAnd, Criteria2:="<25738"
        Sheets("All").Columns("A:Z").Copy
        Sheets.Add
        With ActiveSheet
            .Paste
            .Name = "blok 5fwd+6"
            .[A1].Select
            .Columns.AutoFit
            .Tab.ColorIndex = 5
        End With
        .AutoFilter Field:=CGZ.Column, Criteria1:=">25738", Operator:=xlAnd, Criteria2:="<40730"
        .AutoFilter Field:=CGX.Column, Criteria1:=">111300", Operator:=xlAnd, Criteria2:="<175700"
        Sheets("All").Columns("A:Z").Copy
        Sheets.Add
        With ActiveSheet
            .Paste
            .Name = "blok7"
            .[A1].Select
            .Columns.AutoFit
            .Tab.ColorIndex = 5
        End With
        Application.CutCopyMode = False
        .AutoFilter Field:=CGX.Column
        .AutoFilter Field:=CGY.Column
        .AutoFilter Field:=CGZ.Column
    End With
    Sheets("All").Select
    MsgBox "Filter proces is succesvol afgerond."
Skip:
    With Application
        .ScreenUpdating = True
        .DisplayAlerts = True
    End With
End Sub

De geschreven code stopt mijn macro doordat er than exit sub in staat, de code moet in bovenstaande code komen te staan, onder de rode regel.
Kun jij hem dan toch werkend maken?
 
Laatst bewerkt:
Code:
Sheets("All").Select
    If WorksheetFunction.CountA([A2:Z2]) = 0 Then Rows("2:2").Delete xlUp
    Sheets("All").AutoFilterMode = False
WorksheetFunction.CountA = Aantal.als (werkbladformule)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan