Avatar billede ransborg Juniormester
18. september 2000 - 10:41 Der er 10 kommentarer og
1 løsning

slette række via macro

Hvordan kan man programmere Excel 7.0 til, at den skal slette alle de rækker, hvor f.eks. F kolonnen har værdien 0 (nul)

Jeg vil være meget taknemlig med et hurtigt feedback, hvis det er muligt.

Jeg bruger for det meste excel macroer, men jeg ved ikke, om det er muligt at benytte dem til ovenstående opgave, eller om jeg skal over i visual basic.

På forhånd tak

Med venlig hilsen
Claus Ransborg
Avatar billede ploughgaard Nybegynder
18. september 2000 - 11:38 #1
Claus,

Prøv med dette, med følgende forudsætninger:

Sletter kun værdien \"0\" (ikke tom celle), checker kun hel-tal (ikke decimal), kører 25 rækker igennem (... For i = 1 to 25)

Sub Delete0()
Dim xRow As Integer
Dim yCol As String
Dim point As String
Dim vValue As Integer

xRow = 2
yCol = \"A\"

For i = 1 To 25

    point = yCol & xRow
    Range(point).Select
    vValue = Selection
    If vValue = 0 Then
        Selection.EntireRow.Delete
        xRow = xRow + 1
    Else: xRow = xRow + 1
    End If
   
Next i
End Sub
Avatar billede ransborg Juniormester
18. september 2000 - 11:50 #2
Jeg takker mange gange for den hurtige respons,
men jeg kan desværre ikke få løsningen til at virke. Jeg har prøvet at køre macroen, og den sletter ikke de rigtige rækker, kan det skyldes, du har skrevet row+1 ???

Med venlig hilsen
Claus
Avatar billede ploughgaard Nybegynder
18. september 2000 - 12:48 #3
Jeg skriver  xRow = xRow + 1 for at den skal skifte til næste række, når den er færdig med at teste udsagnet, ellers ville den jo teste på A2 hver gang. Makroen virker her hos mig. Kan du sende mig den fil, du ikke kan få til at virke på ploughgaard@bigfoot.com eller giv mig din e-mail adresser, så skal jeg sende dig et eksempel der virker.

Avatar billede ransborg Juniormester
18. september 2000 - 13:06 #4
Jeg sender filen til dig nu, tak for din hjælp
MVH
Claus
Avatar billede ransborg Juniormester
18. september 2000 - 13:49 #5
Jeg godkender dit svar, når jeg har modtaget filen og den virker

Med venlig hilsen
Claus
Avatar billede ploughgaard Nybegynder
18. september 2000 - 13:53 #6
Jeg har lige nu problemer med bigfoot.com, prøv evt. ploughgaard@hotmail.com
Avatar billede ransborg Juniormester
18. september 2000 - 14:05 #7
Jeg har hermed sendt filen til din hotmail og til din bigfoot
Avatar billede ploughgaard Nybegynder
18. september 2000 - 14:12 #8
Fejlen skyldes at jeg har sat vValue til at være integer (heltal fra -32.000 til +32.000) og da du har både decimal tal og store tal (over 32.000) så virker det ikke. Derfor skal du fjerne \"as integer\" efter \"Dim vValue\"
Avatar billede ransborg Juniormester
18. september 2000 - 14:58 #9
Jeg takker mange for hjælpen, jeg har opdaget, at den ikke altid sletter alle rækker med 0 (nul) i første omgange, men hvis macroen køres flere gange, så får den pænt renset op.

Med venlig hilsen
Claus
Avatar billede nerøs Nybegynder
18. september 2000 - 16:48 #10
Den type sletteoperationer skal sikrest køres bag fra, da der hver gang der slettes en række sker en renummerering af rækkerne

Så noget i den her retyning:

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)
    If MsgBox(\"Alle rækker i det markerde områdes første kolonne der indeholder 0 slettes!\", vbOKCancel) = vbCancel Then Exit Sub
    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
Avatar billede ransborg Juniormester
19. september 2000 - 12:32 #11
Jeg har benyttet mig af sidst nævnte løsning, jeg takker mange gange for assistancen af både nerøs og ploughgaard

MVH
Claus
Avatar billede 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. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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