Jaaen Juniormester
07. april 2021 - 12:42 Der er 8 kommentarer og
3 løsninger

VBA der kopiere flere uafhængige områder til andre uafhængige områder

Hej alle,

Jeg har brug for Jeres hjælp.

Jeg har et excel ark, hvor jeg pt via en makro jeg har "indspillet" for lavet en LANG række "Kopier" -> "Indsæt værdi" via ca. 100 uafhængige områder.

Problemet er nu at når den køres af brugeren, så er den 1) langsom, og 2) den "flimrer" idet jeg i min indspilning var nødt til at "Scrolle" undervejs for at kunne lave kopieringen.

Jeg er meget ny med VBA, men jeg tænker opgaven kan løses derigennem?

Et eksempel på hvad jeg ønsker mig;

Kopier indholdet af Cellerne C29:C38 og "indsæt værdi" i Cellerne U29:U38
Derefter (og i samme "kørsel") kopier E65 og "indsæt værdi" i celle W65

osv osv. med ca. 100 kopieringer total.

Det er vigtigt at det er "indsæt værdi" i de fleste tilfælde, da der er data-validering på de fleste felter. I enkelte undtagelser, skal jeg have fat i "indsæt Formler".

Kan det trylles smart?
ebea Ekspert
07. april 2021 - 12:56 #1
Hvis du kan trylle dit Ark frem, så det kan ses hvad det eksakt går ud på, vil det nok gøre det nemmere.
Jaaen Juniormester
07. april 2021 - 13:08 #2
Hej @Ebea

Link til screenshot:

https://paste.pics/d02d30279ebf8151f24e981c59a44759


Jeg har brug for at makroen/VBA'en kopiere alle felterne med hvid baggrund og rødt omrids til deres tilsvarende placering med grøn baggrund og rødt omrids.

Sektioner som denne har jeg 8 af, hvor opbygningen er den sammen, men hvor rækkenummeret naturligvis ændrer sig.

Derudover nogle som er mindre regelmæssige, hvor enkelte felter skal være formler og hvor enkelte felter skal være værdier.

Giver det mening sådan?
kim1a Ekspert
07. april 2021 - 13:18 #3
Jeg vil tro den nemme løsning er at rydde op i din optagede makro, så kan det være det lige så stille også giver mening for dig.
Kopier den herind.
Jaaen Juniormester
07. april 2021 - 14:13 #4
Det kunne godt lyde som en plan - den optagede makro kommer her:

Den ALLERsidste del er blot lavet, for at undgå at en celle sidder fast i i "udklipsholder" for brugere når de har trykket på knappen.

Makroen:

Sub CopyMaterials()
'
' CopyMaterials Makro
'

'
    Range("C29:C38").Select
    Selection.Copy
    Range("U29").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E29:E38").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W29").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G29:G38").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y29").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J29:J38").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB29").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L29:L38").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD29").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P29:P38").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH29").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R29:R38").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ29").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C41:C50").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U41").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E41:E50").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W41").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G41:G50").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y41").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J41:J50").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB41").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L41:L50").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD41").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P41:P50").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH41").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R41:R50").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ41").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=15
    Range("C53:C62").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U53").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E53:E62").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W53").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G53:G62").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y53").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J53:J62").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB53").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L53:L62").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD53").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("N53:N62").Select
    Selection.Copy
    Range("AF53").Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("P53:P62").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH53").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R53:R62").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ53").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=12
    Range("C64").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U64").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E65").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W65").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J65").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB65").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R65").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ65").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E67:E68").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W67").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G67:G68").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y67").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J68").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB68").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L67:L68").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD67").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P67:P68").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH67").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E70:E71").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W70").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G70:G71").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y70").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L70:L71").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD70").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("AH70:AH71").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C66:C71").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U66").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P70:P71").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH70").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=12
    Range("C73").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U73").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E74").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W74").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J74").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("J74").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB74").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R74").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ74").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C75:C80").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U75").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E75:E80").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W75").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G75:G80").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y75").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J76:J77").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB76").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L76:L77").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD76").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L79:L80").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD79").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P76:P77").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH76").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P79:P80").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH79").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R74").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ74").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=9
    Range("C82").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U82").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E83").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W83").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J83").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB83").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R83").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ83").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C84:C89").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U84").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E84:E89").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W84").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G84:G89").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y84").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J85:J86").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB85").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L85:L86").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD85").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P85:P86").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH85").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L88:L89").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD88").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P88:P89").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH88").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=9
    Range("C91").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U91").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E92").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W92").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J92").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB92").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R92").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ92").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C93:C98").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U93").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E93:E98").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W93").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G93:G98").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y93").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J94:J95").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB94").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L93:L98").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD93").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P94:P95").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH94").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P97:P98").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH97").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=9
    Range("C91").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U91").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C100").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U100").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E101").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W101").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J101").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB101").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R101").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ101").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C102:C107").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U102").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E102:E107").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W102").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G102:G107").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y102").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J103:J104").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB103").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L102:L107").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD102").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P103:P104").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH103").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P106:P107").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH106").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=12
    Range("C111:C120").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U111").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E111:E120").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W111").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G111:G120").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y111").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J111:J120").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB111").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L111:L120").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD111").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P111:P120").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH111").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R111:R120").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ111").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=9
    Range("C123:C132").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U123").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E123:E132").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W123").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G123:G132").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y123").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J123:J132").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB123").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L123:L132").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD123").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P123:P132").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH123").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R123:R132").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ123").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=15
    Range("C135:C144").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U135").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E135:E144").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W135").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G135:G144").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y135").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J135:J144").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB135").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L135:L144").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD135").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P135:P144").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH135").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R135:R144").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ135").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=12
    Range("C146").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U146").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E147").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W147").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G147").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y147").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J147").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB147").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R147").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ147").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C149:C153").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U149").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E149:E153").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W149").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G149:G153").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y149").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L149:L153").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD149").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P149:P153").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH149").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C155").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U155").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E156").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W156").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G156").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y156").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J156").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB156").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R156").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ156").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C158:C162").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U158").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E158:E162").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W158").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G158:G162").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y158").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L158:L162").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD158").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P158:P162").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH158").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=18
    Range("C164").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U164").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E165").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W165").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G165").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y165").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J165").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB165").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R165").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ165").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C167:C171").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U167").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E167:E171").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W167").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G167:G171").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y167").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L167:L171").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD167").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P167:P171").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH167").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C173").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U173").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E174").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W174").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G174").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y174").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J174").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB174").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R174").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ174").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C176:C180").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U176").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E176:E180").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W176").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G176:G180").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("Y176").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L176:L180").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD176").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P176:P180").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH176").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=3
    Range("C182").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("U182").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E183").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W183").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J183").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AB183").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("L183").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD183").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("R183").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AJ183").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E186").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("W186").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P186").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AH186").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-138
    Range("P26").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "NEW"
    Range("P26").Select
End Sub
ebea Ekspert
07. april 2021 - 14:38 #5
At vise et billede, er ikke dit Ark. Og at din kode er langsom, skyldes alle de "Selections" du har i koden.
Jan K Ekspert
07. april 2021 - 15:00 #6
Og du kan 6ndgå "flimren" ved at begynde med

Application.Screenupdating = False

Og sluttd med at sætte det til True igen
Jan K Ekspert
07. april 2021 - 15:05 #7
For mig at se, virker de områder, dercskal kopieres uden systematik, hvilket gør det vanskeligt, fx at kave en løkke, der løber dem igennem.
Jaaen Juniormester
07. april 2021 - 15:17 #8
Hej Jan,

Tak for tippet med Screenupdating - det virker rigtig godt, tak - det hjælper en hel del.

Kan jeg gøre den hurtigere ved at få markeret alle de celler der skal kopieres på en gang og få dem indsat på en omgang?

lige nu, tager den jo 1 område ad gangen og starter forfra med ny område?

Det er et input ark, som på grund af diverse forklaringer osv osv ikke er 100% systematisk i sin opbygning - dog er det HELT systematisk at de felter som skal kopieres altid skal indsættes 18 kolonner til højre (alt det der skal kopieres fra Kolonne E skal altid indsættes i kolonne W) - men det er så ikke alle rækker der skal kopieres.
ebea Ekspert
07. april 2021 - 15:58 #9
En lidt hurtigere måde. Og så kan du tilføje lidt nedefter.

Sub CopyMaterials()

        Range("C29:G38").Copy Range("W29")
        Range("J29:L38").Copy Range("AB29")
        Range("P29:R38").Copy Range("AH29")
       
End Sub
Jaaen Juniormester
07. april 2021 - 17:18 #10
tak @ebea - den metode vil jeg straks prøve!
ebea Ekspert
07. april 2021 - 17:42 #11
#10 - Der er som skrevet andetsteds, ikke struktur nok i dine rækker, til at kunne lave et loop, som havde været hurtigere, da der jo er 18 kolonner mellem det kopierede og indsatte.
Jeg lavede et lidt længere eks., men det bliver stadig en lang kode (alt er relativet).
Men det skærer en stor del væk af dit Select kode, og så er det meget hurtigere.

Sub CopyMaterials()

        Range("C29:G38").Copy Range("U29")
        Range("J29:L38").Copy Range("AB29")
        Range("P29:R38").Copy Range("AH29")
        Range("C41:G50").Copy Range("U41")
        Range("J41:L50").Copy Range("AB41")
        Range("P41:R50").Copy Range("AH41")
        Range("C53:G62").Copy Range("U53")
        Range("J53:L62").Copy Range("AB53")
        Range("P53:R62").Copy Range("AH53")
        Range("C64").Copy Range("U64")
        Range("E65").Copy Range("W65")
        Range("J65").Copy Range("AB65")
        Range("R65").Copy Range("AJ65")
        Range("E67:G68").Copy Range("W67")
        Range("J68").Copy Range("AB68")
        Range("L67:L68").Copy Range("AD67")
        Range("P67:P68").Copy Range("AH67")
        Range("E70:G71").Copy Range("W70")
        Range("L70:L71").Copy Range("AD70")
        Range("C66:C71").Copy Range("U66")
        Range("P70:P71").Copy Range("AH70")
        Range("C73:E74").Copy Range("U73")
        Range("J74").Copy Range("AB74")
        Range("R74").Copy Range("AJ74")
        Range("C75:G80").Copy Range("U75")
        Range("J76:L77").Copy Range("AB76")
       
End Sub
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.

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





Premium
Atea stormer frem: Her er de 20 it-leverandører som branchen mener har de bedste produkter, ydelser og service
Computerworld Image 2021: Disse 20 selskaber leverer ifølge det professionelle it-Danmark de bedste produkter, de bedste ydelser og har den bedste service. Se listen her.
Computerworld
Nu er de her: Efter flere års rygter lancerer Apple Airtags
Langt om længe kan du købe Apples Airtags. De kan modstå støv og vand, og samtidig gør de det muligt for millioner af iPhone-brugere at hjælpe dig med at finde dine nøgler.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
White paper
Netteam ProSupport webinar
Er du IT-ansvarlig i en mindre eller mellemstor virksomhed? På dette webinar giver vi vores deltagere en fuld opdatering på de mest relevante områder inden for netværk og IT-sikkerhed sammen med Cisco.