Avatar billede Rauff Juniormester
04. december 2012 - 11:18 Der er 6 kommentarer og
1 løsning

Sletning af række

Hej
Har tidliger brugt denne kode til at slette en excelrække hvis der var et bestemt varenummer i kollone B.
------
Sub SletRækken()
    Dim RW As Long, I As Long
    RW = Range("B65536").End(xlUp).Row  ' finder den sidste række med data
    Application.ScreenUpdating = False    ' slår skærmopdateringen fra
    For I = RW To 1 Step -1  ' fra den sidste række , der er fundet i kolonne B til nr.1
        If Cells(I, "B") = 236 Then    ' hvis værdien er 236
            Cells(I, "B").EntireRow.Delete  ', så slettes rækken
        End If
    Next I
    Application.ScreenUpdating = True    ' slår skærmopdateringen til igen
End Sub
----
Men nu skal jeg slette en række hvis værdien er "CM - 100" og så virker koden ikke.

Er der nogen som har forslag
Avatar billede store-morten Ekspert
04. december 2012 - 11:57 #1
så virker koden ikke
Hvad har du ændret i koden?
Hvordan: virker ikke?

Har du prøvet:

Sub SletRækken()
    Dim RW As Long, I As Long
    RW = Range("B65536").End(xlUp).Row  ' finder den sidste række med data
    Application.ScreenUpdating = False    ' slår skærmopdateringen fra
    For I = RW To 1 Step -1  ' fra den sidste række , der er fundet i kolonne B til nr.1
        If Cells(I, "B") = "CM - 100" Then    ' hvis værdien er CM - 100
            Cells(I, "B").EntireRow.Delete  ', så slettes rækken
        End If
    Next I
    Application.ScreenUpdating = True    ' slår skærmopdateringen til igen
End Sub
Avatar billede Rauff Juniormester
04. december 2012 - 14:02 #2
Takker - det var lige det der manglede.

Lægger du lige et svar så jeg kan give dig point.

P.S. Hvis man har flere makroer som man gerne vil afvikle efter hinanden, er der så en måde at "binde dem sammen på" ?
Avatar billede Rauff Juniormester
04. december 2012 - 14:05 #3
P.S. Fejlen var, at jeg havde glem "" omkring værdien.
Avatar billede store-morten Ekspert
04. december 2012 - 14:07 #4
Velbekomme
Avatar billede store-morten Ekspert
04. december 2012 - 20:06 #5
Tak for point.

P.S. Hvis man har flere makroer som man gerne vil afvikle efter hinanden, er der så en måde at "binde dem sammen på" ?

Ja.

Sub KørMakroer1()
Call Makro1
Call Makro2
End sub

Sub Makro1()
'Noget kode
End sub

Sub Makro2()
'Noget kode
End sub

Eller:
Sub KørMakroer2()
'Noget kode med Makro1

'Noget kode med Makro2
End sub
Avatar billede Rauff Juniormester
05. december 2012 - 09:57 #6
Super mange tak løsning 1 kan jeg finde ud af :-)

Kan du lægge et svar mere så jeg kan give dig point ?
Avatar billede store-morten Ekspert
05. december 2012 - 23:51 #7
Velbekomme.

Nej, der kan kun uddeles point en gang.

Så #5 får du "gratis" ;-)
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
Kurser inden for grundlæggende programmering

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