Ich möchte kopieren und Einfügen von Werten aus einem Blatt in ein anderes Blatt über die Schaltfläche zu einem Makro zugewiesen. Und jedes Mal, wenn ich auf die Schaltfläche klicke, sollten die eingefügten Werte einige Zeilen überspringen, damit die vorherigen Werte nicht eingefügt werden. Unten ist mein Code so weit, das Problem ist, dass die Schleife nie aufhört. Es gibt wahrscheinlich einen besseren Weg? vielleicht ist eine Schleife nicht der richtige Weg?Kopieren Sie einen Bereich von Zellwerten in ein anderes Blatt mit VBA und verwenden Sie Offset
Bitte schreiben Sie die Antwort in Code, wenn Sie wissen, oder geben Sie mir ein paar Tipps. Ich würde das wirklich zu schätzen wissen.
Sub Savestrategy()
Dim Bookmark As Integer
Dim positioner As Integer
For Each cell In Range("A2:L20")
Worksheets("Dashboard").Range("Bookmark").Copy
Worksheets("Bookmarks").Range("A2").Offset(positioner, 0).PasteSpecial Paste:=xlPasteFormats
Worksheets("Bookmarks").Range("A2").Offset(positioner, 0).PasteSpecial Paste:=xlPasteValues
positioner = positioner + 20
Application.CutCopyMode = False
Next cell
End Sub
Ich habe gerade Ihren Code für 'A2: B20' und es funktionierte gut (die Schleife endete). ist "Bookmark" ein benannter Bereich in Ihrem Blatt? Ihr Code wird den gleichen Wert (in 'Range (" Bookmark ")') jede 20. Zeile von A2 in das Lesezeichen-Blatt einfügen. Willst du das nicht? – nightcrawler23
Hey, danke für die schnelle Antwort. Nein, ich möchte es die Werte einmal nicht wie 80 mal einfügen. Und dann, wenn ich das nächste Mal die Taste drücke, möchte ich, dass die Werte wieder eingefügt werden, aber 20 Zeilen die vorherige Paste. Verstehst du, was ich meine? –
Ich glaube, Sie können eine IsEmpty und if-Anweisung verwenden? aber nicht sicher, wie es geht. Vielleicht weißt du? –