claus_luchow Nybegynder
04. juni 2003 - 14:27 Der er 6 kommentarer og
1 løsning

Makro. Slet tomme rækker

Hej kloge Excel-hoveder

Hvis det er muligt, hvordan skal makroen (i Excel 2000 DK) se ud ved følgende:

· Gennemgå hele projektmappen
· Hvis der er rækker (vilkårligt fra gang til gang), som er tomme, skal rækken slettes og data flyttes op.

Venlig hilsen

Claus Lüchow
janvogt Nybegynder
04. juni 2003 - 14:42 #1
Du kan prøve denne:

Sub SletRækker()
'Alle rækker i første markerede kolonne der indeholder 0
'eller er tomme Slettes
Dim r As Range
Dim i As long
Set r = Selection.Columns(1)
For i = r.Rows.Count To 1 Step -1
If r.Cells(i).Value = 0 Then
r.Cells(i).EntireRow.Delete
End If
Next i
End Sub
overchord Nybegynder
04. juni 2003 - 14:48 #2
Det kommer lidt an paa: vil du loebe alle taenkelige raekker igennem i arket (alle ~ 65000) og slette blanke? Jeg antager i eksemplet at du loeber igennem den foerste 1000 raekker i hvert ark:

x = sheets.count 'Taeller antal ark i projektet

for i = 1 to x
sheets(i).select

for z = 1 to 1000 'antallet af raekker
if range("A" & z) <> "" then 'Antager at du altid har noget skrevet i kolonne A for de raekker der ikke er tomme
else
range("A" & z).EntireRow.Delete xlUp
z = z-1 'Da der kan vaere to tomme raekker i traek
end if
next z
next i
janvogt Nybegynder
04. juni 2003 - 14:55 #3
Mit eksempel løber kun de rækker igennem du har markeret.
bak Novice
04. juni 2003 - 15:31 #4
Her slettes alle tomme linier i alle ark i projektmappen
de slettes kun hvis hele rækken er tom


Sub sletlinier()
Dim slut As Long
Dim ws As Worksheet
Dim x As Long
Dim rng1 As Range



For Each ws In ActiveWorkbook.Worksheets
slut = ws.UsedRange.Rows.Count
For x = slut To 1 Step -1
    Set rng1 = ws.Rows(x).EntireRow
    If Application.WorksheetFunction.CountA(rng1) < 1 Then ws.Rows(x).Delete
Next
Next
End Sub
claus_luchow Nybegynder
04. juni 2003 - 15:58 #5
Tak til jer alle 3 for gode bud på løsninger. Dog mener jeg, at kun Bak giver det korrekte svar, og bør tildeles point herfor. Ret mig gerne, hvis jeg tager fejl.

For de løsninger som Janvogt og Overchord kommer med gælder det, at makroen sletter alle rækker som i kolonne A ikke har noget indhold.
Dette er ikke aktuelt for opgaven, da sletningen ikke må være kolonnebetinget.

Ligeledes gælder det også for de 2 løsninger, at makroerne tilsyneladende kører uendeligt (også selvom der kun er markeret X-rækker), og dermed ikke returnerer et gyldigt resultat.

Hvis Bak kaster et svar ind, giver jeg point til dette.
Jeg vil dog også gerne honorere Janvogt og Overchord, i det tilfælde at jeg tager fejl i min vurdering af løsningsforslagene.

Venlig hilsen Claus Lüchow

NB Videre opfølgning fra min side, sker nu efter Pinse :-)
bak Novice
04. juni 2003 - 16:07 #6
ok, her er så svaret :-)
bak Novice
04. juni 2003 - 16:10 #7
nå, nu igen ......
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

Opret Preview

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





CIO
Bliv klar til EU-persondataforordningen: Ministerium klar med længe ventet dansk vejledning til den nye EU-lov
Justitsministeriet er efter en måneds forsinkelse klar med den store vejledning til EU's kommende persondataforordning, der kommer til at få konsekvenser for alle danske virksomheder. Se vejledningen her.
Comon
Microsofts vilde - og hammerdyre - Surface Studio kommer til Danmark
Microsofts all-in-one-computer, Surface studio, kommer til Danmark midt i juni til en vild pris
Job & Karriere
Dansk it-firma masseansætter: Skal bruge 90 nye medarbejdere med disse it-profiler
It-virksomheden BEC skal bruge 90 nye it-medarbejdere. Her kan du se de konkrete it-profiler, BEC er på udkig efter.
White paper
Undgå de syv dødssynder i valget af ERP-partner
I dette whitepaper kan du læse mere om de syv hyppigste 'dødssynder' og om, hvordan du imødegår dem. Dette er nyttig viden at have med sig, uanset hvilken platform og partner din virksomhed i sidste ende vælger at satse på.