Avatar billede splokit Nybegynder
16. november 2006 - 10:18 Der er 8 kommentarer og
1 løsning

Vb lav ny række

Denne kode er lavet efter en anden kode "http://www.eksperten.dk/spm/743790"
men den laver ikke en ny række som den gamle koge gjore
den gamle kode gjore det ved hver værdi og ikke kun på "a" og "p"

Er der en som kan se hvor fejlen er

Sub Ny()
Dim x As Range
Cells(1, 1).Activate
Set x = ActiveCell
While x <> ""
While UCase(x.Offset(1, 0)) = "A" Or UCase(x.Offset(1, 0)) = "P" Or UCase(x.Offset(2, 0)) = "A" Or _
UCase(x.Offset(2, 0)) = "P" Or UCase(x.Offset(3, 0)) = "A" Or UCase(x.Offset(3, 0)) = "P" Or _
UCase(x.Offset(4, 0)) = "A" Or UCase(x.Offset(4, 0)) = "P"
x.Offset(1, 0).Rows.Insert
Wend
x.Offset(5, 0).Activate
Set x = ActiveCell
Wend
End Sub

Sub gammel()
    rw = Range("A65536").End(xlUp).Row
    For i = rw To 3 Step -1
        If Cells(i, 1) <> "" Then
            If Cells(i, 1).Offset(-1, 0) = "" And Cells(i, 1).Offset(-2, 0) = "" And Cells(i, 1).Offset(-3, 0) = "" Then
            Else
                Rows(i & ":" & i).Insert Shift:=xlDown
            End If
        End If
    Next

End Sub
Avatar billede splokit Nybegynder
16. november 2006 - 12:40 #1
Hvis jeg bruger
x.Offset(1, 0).Resize(1, 8).Rows.Insert
det gør at den i rækken under A og P Indsætter de rækker der mangler.

Hvis man kan undgå det offset tror jeg den virker men jeg kan ikke selv få den til det :S
Avatar billede excelent Ekspert
16. november 2006 - 15:35 #2
ved ikke hvorfor jeg ikke har fået mail om dine kommentarer
men skal nok kikke på det
Avatar billede excelent Ekspert
16. november 2006 - 16:10 #3
prøv lige denne
(indsætter en hel række i stedet for kun celler i kolonne A)

Sub tst()
Dim x As Range
Cells(1, 1).Activate
Set x = ActiveCell
While x <> ""
While UCase(x.Offset(1, 0)) = "A" Or UCase(x.Offset(1, 0)) = "P" Or UCase(x.Offset(2, 0)) = "A" Or _
UCase(x.Offset(2, 0)) = "P" Or UCase(x.Offset(3, 0)) = "A" Or UCase(x.Offset(3, 0)) = "P" Or _
UCase(x.Offset(4, 0)) = "A" Or UCase(x.Offset(4, 0)) = "P"
x.Offset(1, 0).EntireRow.Insert
Wend
x.Offset(5, 0).Activate
Set x = ActiveCell
Wend
End Sub
Avatar billede splokit Nybegynder
17. november 2006 - 06:59 #4
der er næsten sådan som det jeg gør med men.

Det den skal Hvis "A1" = "a" el. "p" og der ikke er 4 celler under uden "a" el "p"
skal den gå ned til næste "a" el "p" og lave de rækker der mangler i rækken hver

Dataen ud fra "a" og "p" og de rækker ned til næste "a" el. "p" skal bevare deres plads ud for "a" el. "p"

Her er en fil så man kan se hvad jeg mener... :S
www.splokit.com/excel/rækker.xls
Avatar billede splokit Nybegynder
17. november 2006 - 07:05 #5
Avatar billede splokit Nybegynder
17. november 2006 - 07:12 #6
hvis den bruger "Resize(1, 8).Rows.Insert" så rykker den heller ikke de knapper som er på arket.
Avatar billede excelent Ekspert
17. november 2006 - 18:03 #7
Sub tst()
Dim x As Range, r
On Error Resume Next
r = Cells(65500, 1).End(xlUp).Row
Cells(r, 1).Activate
Set x = ActiveCell
While x.Row > 2
While UCase(x.Offset(-1, 0)) = "A" Or UCase(x.Offset(-1, 0)) = "P" Or UCase(x.Offset(-2, 0)) = "A" Or _
UCase(x.Offset(-2, 0)) = "P" Or UCase(x.Offset(-3, 0)) = "A" Or UCase(x.Offset(-3, 0)) = "P" Or _
UCase(x.Offset(-4, 0)) = "A" Or UCase(x.Offset(-4, 0)) = "P"
x.EntireRow.Insert
Wend
x.Offset(-5, 0).Activate
Set x = ActiveCell
Wend
End Sub
Avatar billede splokit Nybegynder
20. november 2006 - 07:05 #8
Ser ud til at være i orden nu... smid et svar
Avatar billede excelent Ekspert
20. november 2006 - 11:39 #9
ok
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