Avatar billede MC3390 Juniormester
23. juni 2013 - 12:30 Der er 5 kommentarer og
1 løsning

VBA sletter ikke linjer i version 2002

Jeg kan få denne vba kode til at virke i Excel 2013, Da det er flere der skal bruge koden har jeg behov for at den virker min fra 2002.

Som det er nu, ser den efter om der står noget i kolonne C. Det gør den umiddelbart og flytter hele linjer så de kommer til at stå i rækkerne A1, A2 osv. hvis der står noget i kolonne C, men den sletter ikke de ubrugte linjer. 

Sub Forsyningsgenstande()
Forsyningsgenstande (1)
  Dim i As Long
  Application.ScreenUpdating = False
  For i = Cells(Rows.Count, "C").End(xlUp).Row To 1 Step -1
    If Cells(i, "C").Value = "" Then Cells(i, "C").EntireRow.Delete
  Next
End Sub

Hilsen Michael
Avatar billede supertekst Ekspert
23. juni 2013 - 13:06 #1
Er det de ubrugte rækker i "bunden" du tænker på - efter sletningen er udført?
Avatar billede MC3390 Juniormester
23. juni 2013 - 13:47 #2
Ja, jeg kan se at der kommer en værdi i (i) på den sidste linje, hvor der står noget.

Så linjerne efter f.eks hvis i værdien er 45, bliver ikke slettet.

Jeg har fundet ud af at lave en kolonne i AA, der kun indeholde tal op til 1500 og ændre denne linje i VBA

For i = Cells(Rows.Count, "AA").End(xlUp).Row To 1 Step -1

Så virker det, men det virker i Ecxel version 2013 upåklageligt uden denne kolonne, så jeg tænke jeg måske kunne undvære denne kolonne.

Hilsen Michael
Avatar billede supertekst Ekspert
23. juni 2013 - 14:30 #3
Jeg erfarede, at efter sletningen er der et antal rækker, der medtages, hvis man søger til slutningen med Ctrl + End. Men gennem fil (ActiveWorkbook.Save) så inkluderes disse rækker ikke mere.
Avatar billede jens48 Ekspert
23. juni 2013 - 16:38 #4
Hvis du bruger denne makro bliver der testet på samtlige kolonner:

Sub Forsyningsgenstande()
'Forsyningsgenstande (1)
  Dim i As Long
  Application.ScreenUpdating = False
  LastRow = ActiveSheet.UsedRange.Rows.Count
  For i = LastRow To 1 Step -1
    If Cells(i, "C").Value = "" Then Cells(i, "C").EntireRow.Delete
  Next
End Sub
Avatar billede MC3390 Juniormester
23. juni 2013 - 17:40 #5
Hej Jens


Det virker, bare godt, send et svar, så udløser jeg point

Hilsen Michael
Avatar billede jens48 Ekspert
23. juni 2013 - 17:50 #6
OK. Du får et svar
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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