13. maj 2003 - 15:13Der er
24 kommentarer og 1 løsning
gentage kopiering via makro
Er der nogen der kan hjælpe med en makro ?
Den skal tage en kopi af f.eks. 6Rx7C i ark 1, som så skal indsættes i et andet ark. (Den del kan jeg godt finde ud af)
Når denne kopi er foretage skal man kunne trykke på kanppen igen så der dannes endnu en kopi magen til den tidligere. Denne kopi skal placeres ligeunder den tidligere kopi. osv osv. Det vil sige hvis man kører makroen 10 gange så vil der være 10 ens kopiere under hindanden.
Beklager man jeg modtager stadig en fjelmelding - det kan godt være pga min kompetance indenfor makro. Men jeg modtager følgende fejlmelding: "Run-time error 1004"
Jeg har været ved at lege lidt, og fundet frem til følgende. Hvis rækkerne 1 til 11 på ark 2 er blanke, Så virker makroen ikke. Dog står der noget i disse felter er der ingen problemer. Kan det ikke laves således at række 1 til 11 kan være blanke, således det kopierede bliver indsat fra række 10 ??
Sub CopyBlock() Range("A1:G6").Select Selection.Copy Sheets("Sheet2").Select If Range("a11").Value = "" Then Range("A10").Select ActiveSheet.Paste Else Range("A10").Select ActiveCell.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End If Application.CutCopyMode = False End Sub
Hov, der var en fejl, hvis kun A10 er udfyldt. Prøv i stedet:
Sub CopyBlock() Range("A1:G6").Select Selection.Copy Sheets("Sheet2").Select If Range("a10").Value <> "" And Range("a11").Value = "" Then Range("A11").Select ActiveSheet.Paste Else If Range("a11").Value = "" Then Range("A10").Select ActiveSheet.Paste Else Range("A10").Select ActiveCell.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End If End If Application.CutCopyMode = False End Sub
Hvis jeg kopiere den ind som nedenstående og sætter tallet 6 ind i celle k1 - får jeg desværre ikke 6 kopier som ønsket.
Sub CopyBlock() Range("A1:G6").Select Selection.Copy Sheets("Sheet2").Select If Range("a10").Value <> "" And Range("a11").Value = "" Then Range("A11").Select ActiveSheet.Paste Else If Range("a11").Value = "" Then Range("A10").Select ActiveSheet.Paste Else Range("A10").Select ActiveCell.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End If End If Application.CutCopyMode = False End Sub Sub StyrKopier() Dim i As Long For i = 1 To Sheets("Sheet1").Range("K1").Value Call CopyBlock Next End Sub
Jeg har lige modificeret den første lidt. Jeg får 6 kopier nu, når jeg starter makroen StyrKopier
Sub CopyBlock() Sheets("sheet1").Range("A1:G6").Copy Sheets("Sheet2").Select If Range("a10").Value <> "" And Range("a11").Value = "" Then Range("A11").Select ActiveSheet.Paste Else If Range("a11").Value = "" Then Range("A10").Select ActiveSheet.Paste Else Range("A10").Select ActiveCell.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End If End If Application.CutCopyMode = False End Sub
Sub StyrKopier() Dim i As Long For i = 1 To Sheets("Sheet1").Range("K1").Value Call CopyBlock Next End Sub
Nu er jeg rimmelig ny på denne side. Kan jeg give dig point efter, at jeg har givet de point der oprindelig var på spørgsmålet. Skal jeg oprette et nyt spørgsmål - for at kunne belønne dig.
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.