Hoe maak ik in vba kenbaar dat het op een bepaald tabblad moet draaien.

Status
Niet open voor verdere reacties.

gaggie

Gebruiker
Lid geworden
13 apr 2012
Berichten
101
Heb een stukje code gevonden, maar wil dat het op een bepaald tabblad wordt gedraaid.
tabblad is Database.

HTML:
Sub ClearBlankCells()
    
Dim x As Integer

    For x = 2 To ActiveSheet.UsedRange.Rows.Count
        If Cells(x, 1) = "" Then
            Cells(x, 1).EntireRow.Clear
        End If
    Next x
    
     For x = 2 To ActiveSheet.UsedRange.Rows.Count
        If Cells(x, 3) = "" And Cells(x, 4) = "" And Cells(x, 5) = "" And Cells(x, 6) = "" Then
            Cells(x, 3).EntireRow.Clear
        End If
    Next x
    
End Sub

Kan iemand mij aangeven hoe ik dat kan regelen.

Bij voorbaat hartelijk dank.

Gaggie
 
Kun je op een aantal manieren doen:
Code:
    For x = 2 To Sheets(2).UsedRange.Rows.Count
        If Cells(x, 1) = "" Then
            Cells(x, 1).EntireRow.Clear
        End If
    Next x
    
     For x = 2 To Sheets("Blad2").UsedRange.Rows.Count
        If Cells(x, 3) = "" And Cells(x, 4) = "" And Cells(x, 5) = "" And Cells(x, 6) = "" Then
            Cells(x, 3).EntireRow.Clear
        End If
    Next x
En er zijn uiteraard meer manieren.
 
Mijn manier zou deze zijn:
Code:
Sub ClearBlankCells()
    Dim x As Long
    
    With Sheets("Database")
        For x = 2 To .UsedRange.Rows.Count + 1
            If Cells(x, 1) = "" Then .Cells(x, 1).EntireRow.Clear

            If Cells(x, 3) = "" And _
               Cells(x, 4) = "" And _
               Cells(x, 5) = "" And _
               Cells(x, 6) = "" Then
                .Cells(x, 3).EntireRow.Clear
            End If

        Next x
    End With
End Sub
 
Laatst bewerkt:
Beide werkten, ik gebruik die van edmoor aangezien ik daar maar 1 aanpassing hoef te doen als ik naar een ander tabblad wil.

edmoor: als ik die code zo wil aanpassen bij de AND , dat bv cel(x,3) = "" of 0 is en dan de AND

moet ik daar dan na de "" OR cel(x,3) = 0 And _ neerzetten.

Mvg Gaggie
 
Om te controleren op "" en 0 kun je er beter dit van maken:
Code:
Sub ClearBlankCells()
    Dim x As Long
    
    With Sheets("Database")
        For x = 2 To .UsedRange.Rows.Count + 1
            If Int(Cells(x, 1) = 0) Then .Cells(x, 1).EntireRow.Clear

            If Int(Cells(x, 3)) = 0 And _
               Int(Cells(x, 4)) = 0 And _
               Int(Cells(x, 5)) = 0 And _
               Int(Cells(x, 6)) = 0 Then
                .Cells(x, 3).EntireRow.Clear
            End If

        Next x
    End With
End Sub

Met het _ teken kun je 1 regel over meerdere regels verdelen.
Dat is puur voor de leesbaarheid.
 
Laatst bewerkt:
Onthoud echter wel dat je met Clear niet enkel de inhoud maar ook eventuele opmaak verwijdert.
Wil je enkel de inhoud verwijderen gebruik dan ClearContents.
 
Dan kan de hele formule volgens mij ook nog wel wat korter:
Code:
        For x = 2 To .UsedRange.Rows.Count + 1
            If Int(Cells(x, 1) = 0) Then .Cells(x, 1).EntireRow.ClearContents
            If Len(Cells(x, 3)) + Len(Cells(x, 4)) + Len(Cells(x, 5)) + Len(Cells(x, 6)) = 0 Then
                .Cells(x, 3).EntireRow.ClearContents
            End If
        Next x
Bovendien check je dan ook op tekst, wat je in je 1e bericht ook deed.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan