05. februar 2009 - 17:20Der er
3 kommentarer og 1 løsning
Slet række hvis celle er tom
Hej
Jeg har følgende script: Sub fjern_tomme_raekker() ' ' fjern_tomme_raekker Makro '
Dim antal_raekker As Integer Dim i As Integer
ThisWorkbook.Worksheets("Ark1").Activate
antal_raekker = ActiveSheet.UsedRange.Rows.Count
i = 9
Do While i < antal_raekker 'Range("A" & i).Select
If IsEmpty("B" & i) Then 'EntireRow.Delete ActiveCell.EntireRow.Delete 'xlShiftUp 'ActiveCell.Row.Delete i = i + 1
Else
i = i + 1
End If
Loop
End Sub
Som I kan se, har jeg prøvet mig lidt frem, men det virker ikke. Den løber kolonne A igennem, men den sletter ikke rækken, hvis celle B er tom - hvad gør jeg galt?
Er du virkelig den eneste på Eksperten, der roder med VBA, siden det altid er dig, der svarer? :)
Nå men jeg er ikke interesseret i at vælge noget, da det er et script, der skal eksekveres ved tryk på en knap, og brugeren skal helst involveres så lidt som muligt. Jeg kunne selvfølgelig tælle, hvor mange rækker der bliver brugt og så selecte Range("B9:B" & antal_raekker) og så bruge din løsning.
Public Sub SletTomme_i_Kolonne_B() Range("B:B").SpecialCells(xlCellTypeBlanks).EntireRow.Delete Shift:=xlUp End Sub
her nedenunder er din rettet til
Sub fjern_tomme_raekker() ' ' fjern_tomme_raekker Makro '
Dim antal_raekker As Integer Dim i As Integer Application.ScreenUpdating = False ThisWorkbook.Worksheets("Ark1").Activate antal_raekker = ActiveSheet.UsedRange.Rows.Count
For i = antal_raekker To 9 Step -1 If IsEmpty(Range("B" & i)) Then Range("B" & i).EntireRow.Delete Next Application.ScreenUpdating = True End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.