Avatar billede eenie Nybegynder
26. oktober 2010 - 23:53 Der er 3 kommentarer og
1 løsning

Kan du knække denne? Tror det er let

Jeg forsøger at lære mig selv at kode, så det er nok mig som ikke fatter noget, men jeg har følgende problem. Jeg har skrevet lidt kode som jeg gerne vil have identificerer celler i en kolonne, der ikke har nogen værdi/indhold og derefter sletter hele rækken. Mit problem er at hvis der er to blanke celler lige efter hinanden, så springer den nummer to blanke celle over (fordi jeg skriver "next i" og nummer 2 derfor er nuværende "i").

Min kode ser ud som følger:

Sub AARensForCellerUdenIndhold()

    Dim finalrow As Integer
    Dim i As Integer

    finalrow = Cells(Rows.Count, 1).End(xlUp).Row

    For i = 2 To finalrow
          If Cells(i, 4) <= 0 Then

          Rows(i).Delete (xlShiftUp)

          End If

    Next i

End Sub

Jeg har forsøgt at skrive "i = 2" efter at jeg sletter rækken i inde i IF koden for at få den til at starte forfra, men det sender den bare ud i et uendeligt loop også selvom jeg skriver "finalrow = cells..." umiddelbart før og efter "i = 2".

Jeg er ikke rigtig klar over hvordan man søger efter celler uden indhold, men det virker at søge efter celler som har en værdi <= 0, så længe der ikke er to celler i træk, der ikke har noget indhold.
Avatar billede madiedk Nybegynder
26. oktober 2010 - 23:57 #1
du skal bare skrive i = i -1 når den sletter en række
altså
Rows(i).Delete (xlShiftUp)
i = i -1
Avatar billede madiedk Nybegynder
27. oktober 2010 - 00:14 #2
sådan her mente jeg.
Sub AARensForCellerUdenIndhold()

    Dim finalrow As Integer
    Dim i As Integer
    Dim antal As Integer
    antal = 0
    finalrow = Cells(Rows.Count, 1).End(xlUp).Row

    For i = 1 To finalrow
          If Cells(i, 1) <= 0 Then

            Rows(i).Delete (xlShiftUp)
            i = i - 1

          End If
          If antal > finalrow Then
            Exit For
          End If
    antal = antal + 1
    Next i

End Sub
Avatar billede eenie Nybegynder
27. oktober 2010 - 09:12 #3
Perfekt.. Nu virker det upåklageligt!! 1000 tak.. Point?
Avatar billede madiedk Nybegynder
27. oktober 2010 - 13:14 #4
det var godt, ja tak
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester