Avatar billede freed Novice
26. september 2016 - 15:08 Der er 5 kommentarer og
1 løsning

Indsæt rækker og kopier værdier

Jeg har et excel ark med 500 kundenumre. For hver kunde vil jeg gerne have indsat 7 rækker med 7 forskellige tekster ind. Er der nogen der har et godt bud på dette?
Avatar billede supertekst Ekspert
26. september 2016 - 15:31 #1
Går ud fra at de 7 rækker skal indsættes under rækken med kundenr.
Hvilke og hvor skal teksterne placeres?
Avatar billede Max_P_Larsen Seniormester
26. september 2016 - 15:38 #2
Denne VBA-kode indsætter rækkerne:

Sub Insert7Rows()

    Dim t As Long

    For t = Range("A10000").End(xlUp).Row To 3 Step -1
   
        Rows(t & ":" & t + 6).EntireRow.Insert
   
    Next t

End Sub

Denne kode kan udvides til også at indsætte de syv forskellige tekster - forudsat at det er de samme syv tekster for hvert kundenummer.


Mvh Max
Avatar billede freed Novice
26. september 2016 - 18:26 #3
Der skal indsættes 7 rækker pr kunde med den samme tekst. Kan ovenstående bruges?
Avatar billede freed Novice
26. september 2016 - 18:28 #4
Hvordan tilføjer jeg teksten Max?
Avatar billede Max_P_Larsen Seniormester
27. september 2016 - 09:23 #5
Her er en "quick-and-dirty"-løsning, hvor teksterne indsættes i kolonne A. Du kan selv tilpasse makroen, hvad angår kolonne og teksterne "Tekst 1" .... "Tekst 7".

Sub Insert7Rows()

    Dim t As Long

    With ActiveSheet
   
        For t = .Range("A10000").End(xlUp).Row To 2 Step -1
       
            If t > 2 Then
           
                .Rows(t & ":" & t + 6).EntireRow.Insert
         
                .Range("A" & t + 8) = "Tekst 1"
                .Range("A" & t + 9) = "Tekst 2"
                .Range("A" & t + 10) = "Tekst 3"
                .Range("A" & t + 11) = "Tekst 4"
                .Range("A" & t + 12) = "Tekst 5"
                .Range("A" & t + 13) = "Tekst 6"
                .Range("A" & t + 14) = "Tekst 7"
               
            Else
           
                .Range("A" & t + 1) = "Tekst 1"
                .Range("A" & t + 2) = "Tekst 2"
                .Range("A" & t + 3) = "Tekst 3"
                .Range("A" & t + 4) = "Tekst 4"
                .Range("A" & t + 5) = "Tekst 5"
                .Range("A" & t + 6) = "Tekst 6"
                .Range("A" & t + 7) = "Tekst 7"
               
            End If
       
        Next t
       
    End With

End Sub

Håber du får det til at virke :-)


Mvh Max
Avatar billede freed Novice
28. september 2016 - 07:55 #6
Tusind tak for hjælpen
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

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