Oprettet ons. d. 04. juni 2003 kl. 14:27:42

claus_luchow
claus_luchow (23.135 point. Point ude: 0)


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

Skrevet ons. d. 04. juni 2003 kl. 14:42:42| #1

janvogt
janvogt (58.973 point)
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

Skrevet ons. d. 04. juni 2003 kl. 14:48:13| #2

overchord
overchord (40.127 point)
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

Skrevet ons. d. 04. juni 2003 kl. 14:55:15| #3

janvogt
janvogt (58.973 point)
Mit eksempel løber kun de rækker igennem du har markeret.

Skrevet ons. d. 04. juni 2003 kl. 15:31:04| #4

bak
bak (100.450 point)
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

Skrevet ons. d. 04. juni 2003 kl. 15:58:13| #5

claus_luchow
claus_luchow (23.135 point)
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 :-)

Skrevet ons. d. 04. juni 2003 kl. 16:07:51| #6

bak
bak (100.450 point)
ok, her er så svaret :-)

Skrevet ons. d. 04. juni 2003 kl. 16:10:13| #7

bak
bak (100.450 point)
nå, nu igen ......

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Sortering vha. makro/hvis-formel

Oprettet den 30. oktober 2014 kl. 10.43
nigu giver 60 point for svar | Giv et svar »

Logo

Oprettet den 30. oktober 2014 kl. 09.49
larskoch giver 30 point for svar | Giv et svar »

Makro til at opsplitte for- og efternavn

Oprettet den 29. oktober 2014 kl. 17.11
Pletz123 giver 30 point for svar | Giv et svar »

Seneste guides

Find ejeren af et vilkårligt domæne
Undgå reklamerne på iPad
Opret BOOTBAR USB pen ...





Computerworld

Teaser billede

Da Google overskred min grænse

Jeg accepterer betingelser på et splitsekund, deler personlige data på Facebook uden at se mig tilbage og forfølges gerne af reklamer. Men jeg har fundet min grænse. Den hedder Google Glass - og...

CIO

Teaser billede

Gode jobsøgningsråd: Skriv en ansøgning, der får dig til jobsamtale

En ekspert giver seks gode råd til, hvordan du skriver den perfekte ansøgning.

Comon

Teaser billede

Test: Mini-computer fra Gigabyte har overraskende meget kraft

Gigabyte's Brix Pro (GB-BXi7-4770R) har overraskende meget kraft i så lille et chassis, men størrelsen giver også problemer.

Channelworld

Teaser billede

Amerikansk it-selskab køber danske Careitec: Skal bruges til europæisk offensiv

Amerikansk it-selskab overtager dansk forhandler, der kommer til at spille en central rolle i amerikanernes europæiske offensiv.

White paper

Teaser billede

Offentlig it-indkøb: Hvordan?

Denne Computerworld Guide ser nærmere på offentlige indkøberes palet af muligheder for at gå hårdt til deres it-leverandører.



Udgiver · © 2014 Computerworld A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger