Avatar billede mormie Nybegynder
22. juni 2008 - 15:42 Der er 4 kommentarer

Slette tomme rækker i excel

Håber at nogle kan hjælpe mig.

Jeg har brug for at få slettet tomme rækker i excel.

Først har jeg flyttet rækker hvor kolonne 4 indeholder ordet "ja" til er andet ark vha cut funktion, men det efterlader mig tomme række ind mellem rækker med tekst i. Jeg har forsøgt med dette (sidste sub), ud fra en makro som jeg har rettet lidt til, men den virker ikke som jeg gerne vil have den til:

Private Sub søgOrd(tekst, antalRæk)
    For ræk = 1 To antalRæk
        If Cells(ræk, 4) = "ja" Then
            Rows(ræk).Cut
            indsætRækkeIArk "afslutttede opgaver"
        End If
    Next ræk
End Sub
Private Sub indsætRækkeIArk(tekst)
    ActiveWorkbook.Sheets("afsluttede opgaver").Activate
    For ræk = 1 To 65000
        If ActiveSheet.Cells(ræk, 1) = "" Then
            ActiveSheet.Rows(ræk).Select
            ActiveSheet.Paste
            ActiveWorkbook.Sheets(1).Activate
            Application.CutCopyMode = False
            Exit Sub
        End If
    Next ræk
End Sub
Private Sub sletTommeRækkeriArk(tekst)
    For ræk = 1 To antalRæk
        If Rows(ræk) = "" Then
            Rows(ræk).Delete shift:=x1up
        End If
    Next ræk
End Sub
Avatar billede kabbak Professor
22. juni 2008 - 17:17 #1
marker kolonnen, hvor du har de tomme celler i, den sletter alle rækker hvor den finder en tom celle i kolonnen.

Public Sub SletTomme()
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Avatar billede supertekst Ekspert
22. juni 2008 - 17:51 #2
Eller evt. slette rækken med det samme (Sub SletTomme() kan så udelades):

Private Sub søgOrd(tekst, antalRæk)
Dim count
    count = antalRæk
    For ræk = 1 To count
        If Cells(ræk, 4) = "ja" Then
            Rows(ræk).Cut
            indsætRækkeIArk "afslutttede opgaver"
            Rows(ræk).Delete shift:=x1up
            count = count - 1
        End If
    Next ræk
End Sub
Avatar billede mormie Nybegynder
22. juni 2008 - 21:17 #3
Jeg er ikke en haj til dette programmering, men jeg kan ikke helt få forslagene til at virke. Måske har jeg ikke forklaret mit problem godt nok.

Jeg har 5 kolonner som er udfyldt, dvs at kolonne 5 nogle gange har "ja" og andre gange er tom. Når der står "ja" skal rækken flyttes til et andet ark. Det fungerer OK (de 2 første sub), men der efterlades tomme rækker når dem med "ja" er flyttet, og det er dem jeg gerne vil have slettet, så alle rækker uden "ja" i kolonne 5 står under hinanden, indtil næste gange makroen køres.

Jeg ville gerne at det hele kan køres ad en gang, så jeg ikke skal markere nogle kolonner for at få slettet tomme rækker.

Håber stadig at en eller anden kan hjælpe mig.
Avatar billede supertekst Ekspert
22. juni 2008 - 23:47 #4
Du nævnte kolonne 4 i første indlæg - men det er 5?
Hvis ja - så skulle Sub søgOrd med denne justering - slette rækkerne:


Private Sub søgOrd(tekst, antalRæk)
Dim count
    count = antalRæk
    For ræk = 1 To count
        If Cells(ræk, 5) = "ja" Then
            Rows(ræk).Cut
            indsætRækkeIArk "afslutttede opgaver"
            Rows(ræk).Delete shift:=x1up
            count = count - 1
        End If
    Next ræk
End Sub
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