Avatar billede telep Nybegynder
16. januar 2005 - 14:02 Der er 17 kommentarer og
1 løsning

Slette række i Excel

Jeg mangler blot en linie kode... Hvordan sletter jeg en hel række???

Please help!



Private Sub cmdSletDublets_Click()
'On Error Resume Next

Data = wkbObj.Sheets(1).Range("a1").CurrentRegion
a = wkbObj.Sheets(1).Range("a1").CurrentRegion.Columns.Count

Dim prv As String
prv = ""

For I = 1 To UBound(Data)
    If Data(I, 2) = prv Then
        'HER SKAL HELE RÆKKEN SLETTES!!! HVORDAN???
    End If
    prv = Data(I, 2)
Next I

wkbObj.Save


På forhånd tak!

/telep
Avatar billede mikker Nybegynder
16. januar 2005 - 14:59 #1
Selection.EntireRow.Delete
Avatar billede mikker Nybegynder
16. januar 2005 - 15:05 #2
Eller rettere:

Dim prv As String
prv = ""

For I = 1 To 20
   
    If Cells(I, 2) = prv Then
    Selection.EntireRow.Delete
       
    End If
    prv = Cells(I, 2)
Next I

Virker hos mig.

Data = wkbObj.Sheets(1).Range("a1").CurrentRegion
a = wkbObj.Sheets(1).Range("a1").CurrentRegion.Columns.Count

Kunne jeg ikke lige få til at køre :o)

- Mikker
Avatar billede telep Nybegynder
16. januar 2005 - 15:18 #3
Hmm... den sletter alt...

Det er jo ikke meningen! Den skal jo kun slette den række den er nået til...
Avatar billede kabbak Professor
16. januar 2005 - 15:27 #4
For I = 1 To UBound(Data)
    If Data(I, 2) = prv Then
Rows(i).Delete  'HER SKAL HELE RÆKKEN SLETTES!!! HVORDAN???
    End If
    prv = Data(I, 2)
Next I
Avatar billede telep Nybegynder
16. januar 2005 - 15:51 #5
Det nok bare mig der er en klovn men jeg kan ikke få det til at spille...

Planen er, at jeg skal gennemløbe en kolonne i en excelfil. Hvis B2 er lig med B1 skal hele række 2 slettes...

Altså:

For I = 1 Ubound(Data)
    Hvis Nuværende felt er ligmed foregånde
        Slet rækken
    End if

    Sæt foregående til nuværende
Next I
Avatar billede telep Nybegynder
16. januar 2005 - 15:52 #6
Der er alle de point der skal til for det!
Avatar billede mikker Nybegynder
16. januar 2005 - 16:15 #7
Men på den måde finder du vel ikke ud af om række 1 og 4 er ens...

Se på den her...

Dim prv As String
prv = ""
For a = 1 To 19
Stop
prv = Sheets(1).Cells(a, 2).Value
For i = a + 1 To 20
   
    If Sheets(1).Cells(i, 2).Value = prv Then
Stop
    Cells(i, 2).EntireRow.Delete
      Stop
      End If
Next i
Next a

- Mikker
Avatar billede mikker Nybegynder
16. januar 2005 - 16:16 #8
Eller uden alle afbrydelserne :o)

Dim prv As String
prv = ""
For a = 1 To 19
prv = Sheets(1).Cells(a, 2).Value
For i = a + 1 To 20
   
    If Sheets(1).Cells(i, 2).Value = prv Then

    Cells(i, 2).EntireRow.Delete
      End If
Next i
Next a
Avatar billede telep Nybegynder
16. januar 2005 - 16:30 #9
mikker du er rigtig tæt på at være en meget stor helt!!!

Du skal nok få point, men kan du fortælle mig hvordan jeg jeg markere hele arket og sætte skrifttypen til "fed"?

Sagen er nemlig den, at nogle af rækkerne er med "fed" skrift, og så opfatter din kode det som om at feltet er forskelligt selvom værdien er den samme...
Avatar billede telep Nybegynder
16. januar 2005 - 16:56 #10
nahh - det var sgu ikke det der gjorde det...

Noget andet er helt galt...
Avatar billede mikker Nybegynder
16. januar 2005 - 16:57 #11
Store/små bogstaver måske ?
Avatar billede telep Nybegynder
16. januar 2005 - 17:02 #12
nej det er i virkeligheden tal der blot er formateret som tekst!

Har du en mail adresse? Så kan jeg sende dig filen jeg tester på!?
Avatar billede mikker Nybegynder
16. januar 2005 - 17:27 #13
sedn den til mail@allmall.dk
Avatar billede telep Nybegynder
16. januar 2005 - 17:31 #14
sendt!
Avatar billede mikker Nybegynder
16. januar 2005 - 18:11 #15
Hvad siger du til den nu ?

Dim prv As String
prv = ""
lstrow = Range("B60000").End(xlUp).Row 'finder den nederste række

For a = 2 To lstrow - 1

prv = Sheets(1).Cells(a, 2).Value
For i = a + 1 To lstrow
   
    If Sheets(1).Cells(i, 2).Value = prv And Sheets(1).Cells(i, 2).Value <> "" Then
Do While Sheets(1).Cells(i, 2).Value = prv
    Cells(i, 2).EntireRow.Delete
Loop
      End If
     
Next i
Next a
Avatar billede telep Nybegynder
16. januar 2005 - 18:21 #16
Det er storslået!!!
Avatar billede telep Nybegynder
16. januar 2005 - 18:22 #17
Mange tak!
Avatar billede mikker Nybegynder
16. januar 2005 - 18:39 #18
Blot glad for at kunne hjælpe :o)
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