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

claus_luchow
claus_luchow (24.020 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 (59.658 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 (41.012 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 (59.658 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 (101.395 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 (24.020 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 (101.395 point)
ok, her er så svaret :-)

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

bak
bak (101.395 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

Tæl forekomster af perioder siden sidste salg

Oprettet den 24. april 2015 kl. 19.03
endurancel giver 30 point for svar | Giv et svar »

Avanceret filter i excel tabel - finde foreningsmængde

Oprettet den 24. april 2015 kl. 09.21
jorgenjo giver 200 point for svar | Giv et svar »

Gem med et filnavn fra en celle

Oprettet den 23. april 2015 kl. 11.29
peterscl giver 30 point for svar | Giv et svar »






Computerworld

Teaser billede

KMD klar til at masse-ansætte: Mangler lige nu 150 nye it-folk

KMD står lige nu og mangler 150 nye medarbejdere til helt konkrete opgaver og projekter. Men it-giganten har svært ved at skaffe dem.

CIO

Teaser billede

"Jeg har været et dyrt bekendtskab for KMD, men jeg tænker også, at KMD har fået en del ud af det"

Interview: Rasmus Theede står i spidsen for Danmarks eneste sikkerhedscenter - et center som har kostet KMD et to-cifret million-beløb. Computerworld har besøgt centeret i Ballerup til en...

Channelworld

Teaser billede

Millionerne ruller ind hos nystartet dansk it-firma

Salg af standard-hardware er en guldgrube for it-forhandleren eGiss, som på mindre end to år har skabt en omsætning på mere end 200 millioner kroner.

White paper

Teaser billede

Intelligente forretningsprocesser

Læs her om de centrale egenskaber ved intelligente forretningsprocesser, deres fordele og hvordan du hæver dine egne forretningsprocessers IQ.



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