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
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
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.
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
Synes godt om
Ny brugerNybegynder
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.