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 Nybegynder
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 Nybegynder
04. juni 2003 - 16:07 #6
ok, her er så svaret :-)
bak Nybegynder
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





Computerworld
Denne programmør har fundet det perfekte våben mod Windows-svindlere og irriterende telefon-sælgere
Programmøren Roger Anderson har bygget en robothær, der bliver sendt i krig mod svindlere og irriterende telefonsælgere.
CIO
Sikkerhedsfolk: Sådan vil ransomware-plagen udvikle sig (det bliver meget værre)
Vi har kun set begyndelsen på ransomware-plagen, vurderer sikkerhedsfolk. Næste fase kan blive total nedlukning af hele fabrikker, anlæg og organisationer. Og hvad gør vi så?
Comon
Sådan installerer du Googles bil-system, Android Auto, på din smartphone
Android Auto har indtil nu krævet en bil med indbygget computer med touchskærm for at kunne fungere. Nu kan du installere systemet på din Android-telefon og benytte den som bil-computer og navigations-system. Se her, hvordan du gør.
Channelworld
Tidligere Atea-boss Claus Hougesen er færdig som direktør i 3A-it: Her er årsagen
Claus Hougesen er stoppet som administrerende direktør for 3A-it og har i stedet overladt posten til Preben Jensen, der ligeledes har en fortid hos Atea.
White paper
Sådan får du et bæredygtigt support- og vedligeholdelsessetup
Hvorfor investere i support og vedligeholdelse af din Microsoft Dynamics platform? I dette white paper får du svaret.