Avatar billede philip101010 Novice
16. januar 2020 - 18:33 Der er 7 kommentarer og
1 løsning

Hvordan kopierer jeg automatisk værdier i celler?

Hej alle,

Det ligner et forum hvor man kan få kvalificeret hjælp til en problemstilling i excel - så håber I kan hjælpe.

Jeg har bruge for at oprette en masse linjer med identiske værdier. Eksempel:

1411 linjer hvor der fx står 1
2745 linjer hvor der fx står 5
8117 linjer hvor der fx står 10
Osv.

Problematikken kommer i at, jeg godt ved at jeg bare kan skrive "1" og så trække det 1411 linjer ned, skrive 5 og trække det yderligere 2745 linjer ned, osv - men er der er ikke en nemmere måde, hvor jeg kan sige "værdi 1" skal listes 1411 gange, værdi 5 skal listes 2745 gange, osv?

Håber på at nogen kan hjælpe her? :)
Avatar billede store-morten Ekspert
16. januar 2020 - 19:51 #1
Prøv:
Sub KopierMarkering()
    Selection.Copy
    For i = 1 To InputBox("Indtast antal kopieringer")
        Cells(65000, ActiveCell.Column).End(xlUp).Offset(1, 0).Select
        ActiveSheet.Paste
    Next i
End Sub
Skriv: 1 i en celle, med denne celle markeret, kør makro: KopierMarkering
Avatar billede store-morten Ekspert
16. januar 2020 - 20:11 #2
Denne er lidt hurtigere:
Sub KopierMarkering()
    Selection.Copy
    Application.ScreenUpdating = False
    For i = 1 To InputBox("Indtast antal kopieringer")
        Cells(65000, ActiveCell.Column).End(xlUp).Offset(1, 0).Select
        ActiveSheet.Paste
    Next i
    Application.ScreenUpdating = True
End Sub
Avatar billede store-morten Ekspert
16. januar 2020 - 20:18 #3
Og denne er meget hurtigere:
Sub KopierNed()
    Dim ref As String, kb As String, rk As Long
    kb = Mid(ActiveCell.Address, 2, InStr(2, ActiveCell.Address, "$") - 2)
    rk = InputBox("Indtast antal kopieringer")
    Selection.AutoFill Destination:=Range(ActiveCell.Address & ":" & "$" & kb & "$" & rk)
End Sub
Avatar billede philip101010 Novice
16. januar 2020 - 20:32 #4
Hej Store-morten

tak for hurtigt svar. Jeg er langt fra ekspert i makro - men jeg prøver lige. Update følger :)
Avatar billede philip101010 Novice
16. januar 2020 - 21:59 #5
Hej Store-morten

Du er for vild! Du har lige sparet mig for en del timers arbejde! Tusind tak, thumbs up :D :D
Avatar billede store-morten Ekspert
16. januar 2020 - 22:01 #6
Velbekomme 👌
Avatar billede xl-Enthusiast Ekspert
17. januar 2020 - 07:54 #7
store-morten har jo allerede givet en fin løsning, men vil bare lige nævne, at hvis man har adgang til Excels nye Dynamic Arrays (Office 365 Insider) så kan følgende simple formel gøre det samme:

=SEQUENCE(1411;;1;0)
Avatar billede store-morten Ekspert
17. januar 2020 - 09:27 #8
En lille tilretning:
Sub KopierNed()
    Dim kb As String, srk As Long, rk As Long
    'kolonne
    kb = Mid(ActiveCell.Address, 2, InStr(2, ActiveCell.Address, "$") - 2)
    'start række
    srk = ActiveCell.Row
    'antal + start række
    rk = InputBox("Indtast antal kopieringer") + srk
    'fylder ned
    Selection.AutoFill Destination:=Range(ActiveCell.Address & ":" & "$" & kb & "$" & rk)
End Sub
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