Avatar billede rabitjosph Juniormester
24. januar 2009 - 14:06 Der er 6 kommentarer og
1 løsning

Slet linie hvis

Hej

Det vil ikke lykkes for mig, samt der må være en nemmer måde at skrive denne kode

Den virker ikke for den tæller 2 gange, men hvad gør jeg

Dim Streger As String: Streger = "a2:a500"
      b = 2
      For Each c In Worksheets("fors").Range(Streger).Cells
    If IsNumeric(c.Value) Then
    b = b + 1
    Else
    Cells(b, 1).EntireRow.Delete 'Streger fjernes
    b = b + 1
    End If
    b = b + 1
  Next c
Avatar billede japping Nybegynder
24. januar 2009 - 14:22 #1
Jeg ved ikke hvad du søger, for det forklarer dit spørgamål ikke. Måske du kan bruge dette:

Dim Streger As String: Streger = "a2:a500"
      b = 2
      For Each c In Worksheets("fors").Range(Streger).Cells
    If IsNumeric(c.Value) Then
    Else
    Cells(b, 1).EntireRow.Delete 'Streger fjernes
    End If
    b = b + 1
  Next c
Avatar billede kabbak Professor
24. januar 2009 - 14:26 #2
Dim Streger As String: Streger = "a2:a500"
      b = 2
      For Each c In Worksheets("fors").Range(Streger).Cells
    If IsNumeric(c.Value) Then
    b = b + 1
    Else
    Cells(b, 1).EntireRow.Delete 'Streger fjernes
    b = b - 1 ' -1 fordi rækken neden under rykker op og bliver samme nummer
    End If
    b = b + 1
    Next c
Avatar billede rabitjosph Juniormester
24. januar 2009 - 17:43 #3
Hej

Det virker ikke helt i nu, har ændret lidt, men problemet er Each C står og tæller op hver gang også når jeg sletter en linie, så når der er 10 linje der skal slettes går det galt.

Målet er at slette de linje hvor der ikke står en numerisk tal i kolone C

Dim Streger As String: Streger = "C2:C500"
  b = 2
  For Each c In Worksheets("fors").Range(Streger).Cells
    If IsNumeric(c.Value) Then
      Else
      Cells(b, 1).EntireRow.Delete 'Streger fjernes
        b = b - 1 ' -1 fordi rækken neden under rykker op og bliver samme nummer
        End If
          b = b + 1
          Next c
Avatar billede rabitjosph Juniormester
24. januar 2009 - 18:06 #4
Jeg løser det måske på denne her, men hvordan bevare jeg linje 1, skal ikke slettes

     
      Dim R As Long
For R = Cells(Rows.Count, 3).End(xlUp).Row To 1 Step -1    ' 3 står for kolone C
    If Not IsNumeric(Cells(R, 3).Value) Then Rows(R).Delete
Next
Avatar billede kabbak Professor
24. januar 2009 - 18:26 #5
Dim R As Long
R =  Range("C65536").End(xlUp).row
For R = R To 2 Step -1    ' To 2, betyder til række 2
    If Not IsNumeric(Cells(R, 3).Value) Then Rows(R).Delete
Next
Avatar billede rabitjosph Juniormester
24. januar 2009 - 20:09 #6
Super kabbak svar tak
Avatar billede kabbak Professor
24. januar 2009 - 22:06 #7
;-))
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