Avatar billede timmermann Nybegynder
10. maj 2004 - 09:41 Der er 6 kommentarer og
1 løsning

VBA: Indsætte linier

VBA-spørgsmål: Jeg har en sorteret A-kolonne med tallene eksempelvis således
1
1
1
2
2
3
3
4
4
osv.

Lige inden nyt tal starter ønsker jeg at indsætte en linie (dvs. mellem sidste 1-tal og første 2-tal, og mellem sidste 2-tal og første 3-tal osv.) . Hvordan skrives dette i VBA?
Avatar billede overchord Nybegynder
10. maj 2004 - 10:41 #1
Det er Excel ikke?
Avatar billede martin_moth Mester
10. maj 2004 - 10:46 #2
Du looper over alle rækkerne i A-kolonnen. Sammenligner forrige celle med nuværende celle. Er de uens, indsætter du en række.

Forudsat vi taler Excel
Avatar billede martin_moth Mester
10. maj 2004 - 10:59 #3
Løsning:

Sub Hurra()

Dim i As Long
Dim j As Long

Range("A1").Select
ActiveCell.SpecialCells(xlLastCell).Select
j = ActiveCell.Row
If j > 1 Then
  For i = 2 To j
    If Cells(i, 1).Value <> Cells(i - 1, 1).Value Then
      Rows(i).Select
      Selection.Insert Shift:=xlDown
      i = i + 1
    End If
  Next i
End If
End Sub
Avatar billede timmermann Nybegynder
10. maj 2004 - 11:35 #4
Tak for det!
Avatar billede overchord Nybegynder
10. maj 2004 - 12:25 #5
Lige en fodnote martin - skal du ikke ogsaa sige j =j +1 i loopet idet du indsaetter ekstra linjer.
Hvis der indsaettes mange linjer vil de sidste raekker maaske ikke laengere inkluderes.
Avatar billede martin_moth Mester
10. maj 2004 - 14:12 #6
jo da - godt set!
Avatar billede timmermann Nybegynder
10. maj 2004 - 14:46 #7
Martin, vil du skrive hele kodningen igen incl. j=j+1, bare for en sikkerhedsskyld (selvom den første version virkede i mit Excel-ark).
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