Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Aktion x-mal wiederholen

Aktion x-mal wiederholen
21.10.2006 19:36:42
Bernd
Hallo allerseits,
wie muss der Code aussehen, wenn ich folgende Aktion z.B. 400x ausführen lassen will.
Selection.Copy
Range("J1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktion x-mal wiederholen
21.10.2006 19:53:09
MichaV
Hallo
dim i as integer
for i=1 to 400
Selection.Copy
Range("J1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
next i
Gruß- Micha
PS: Rückmeldung wäre nett.
AW: Aktion x-mal wiederholen
Bernd
Achso. Sch...
Also Micha, das funktioniert natürlich wunderbar, aber ich habe etwas vergessen was für mich von vornherein klar war.
Als erstes soll in Zelle J1 kopiert werden, beim nächsten Mal in Zelle J2 usw.
Wie müsste der Code dann aussehen?
Gruss
B.
Anzeige
AW: Aktion x-mal wiederholen
21.10.2006 20:03:57
MichaV
Hallo,
war mir auch klar, dass Du da was vergessen hast ;o)
Auch Als erstes soll in Zelle J1 kopiert werden, beim nächsten Mal in Zelle J2 usw. macht keinen Sinn, denn was soll denn in die Zellen kopiert werden?
Beschreib mal, was Du vor hast.
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Aktion x-mal wiederholen
21.10.2006 20:08:19
Bernd
Also,
der Wert der Zelle H2 (welcher auf Grund von Zufallszahlen variabel ist, also sich nach jeder Kopier-Aktion geändert hat) soll zunächst in Zelle J1 kopiert werden, danach in J2, dann in J3 etc. etc.
Jetzt klar?
Gruss
B.
AW: Aktion x-mal wiederholen
21.10.2006 20:21:40
MichaV
Hallo,
siehste, dann wären wir mit "Selection.Copy" nicht weit gekommen.

Sub Bernd()
Dim i As Integer
For i = 1 To 400
Range("H2").Copy
Range("J" & i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next i
End Sub


Sub Alternative()
With Range("K1:K400")
.Formula = "=rand()"
.Value = .Value
End With
End Sub

Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Aktion x-mal wiederholen
21.10.2006 20:33:53
Bernd
Danke, funktioniert perfekt.
Sogar ohne das Sub Alternative ;-)
Gruss
Danke für die Rückmeldung mT
21.10.2006 20:36:58
MichaV
Hallo,
ja, warum Frage dann noch offen?
Das Sub Alternative habe ich Dir gezeigt, um auch eine schnelle Lösung anzubieten. Das geht nämlich ruckzuck und bringt am Ende das gleiche Ergebnis.
Gruß- Micha
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Aktion in Excel x-mal wiederholen


Schritt-für-Schritt-Anleitung

Um eine Aktion in Excel x-mal zu wiederholen, kannst Du den folgenden VBA-Code verwenden. Dieser Code kopiert den Wert einer Zelle und fügt ihn in eine andere Zelle ein, wobei die Zielzelle bei jeder Iteration um eins nach unten verschoben wird.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf „Einfügen“ und wähle „Modul“ aus.
  3. Kopiere den folgenden Code in das Modul:
Sub AktionWiederholen()
    Dim i As Integer
    For i = 1 To 400
        Range("H2").Copy
        Range("J" & i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Next i
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Drücke ALT + F8, wähle „AktionWiederholen“ aus und klicke auf „Ausführen“.

Dieser Code führt die Excel-Aktion 400-mal aus, wobei der Wert in Zelle H2 jeweils in die Zellen J1 bis J400 kopiert wird.


Häufige Fehler und Lösungen

  • Fehler: „Der Bereich ist nicht definiert“

    • Lösung: Stelle sicher, dass die Zelle H2 tatsächlich einen Wert enthält und dass der Bereich in der Copy- und PasteSpecial-Anweisung korrekt angegeben ist.
  • Fehler: „Zielzelle ist ungültig“

    • Lösung: Überprüfe, ob der Zielbereich (in diesem Fall J1 bis J400) tatsächlich im aktiven Arbeitsblatt existiert.

Alternative Methoden

Eine schnelle Alternative, um eine Aktion in Excel zu wiederholen, ist die Verwendung von Formeln. Du kannst den folgenden Code verwenden, um zufällige Werte in einem Bereich zu generieren:

Sub Alternative()
    With Range("K1:K400")
        .Formula = "=RAND()"
        .Value = .Value
    End With
End Sub

Diese Methode ist besonders nützlich, wenn Du einfach nur Werte generieren möchtest, ohne wiederholt einen Befehl auszuführen.


Praktische Beispiele

  1. Wiederholte Berechnung und Kopie

    • Wenn Du eine Berechnung in Zelle H2 hast, z.B. =A1+B1, und diesen Wert in die Spalte J für mehrere Zeilen kopieren möchtest, kannst Du den oben genannten Code verwenden.
  2. Werte von einer Liste kopieren

    • Wenn Du Werte aus einer Liste in Spalte A hast und diese in die Spalte B wiederholen möchtest, kann der Code entsprechend angepasst werden.

Tipps für Profis

  • Nutze die Excel-Tastenkombination STRG + Y, um die letzte Aktion zu wiederholen, wenn es sich um einfache Vorgänge handelt.
  • Überlege, ob Du die Excel-Aktion für eine größere Anzahl von Zellen parallel ausführen kannst. Dies kann die Effizienz erhöhen.
  • Experimentiere mit verschiedenen Bereichen und Formeln, um die Funktionalität Deiner VBA-Skripte zu erweitern.

FAQ: Häufige Fragen

1. Wie viele Aktionen kann ich mit VBA wiederholen?
Es gibt theoretisch keine Begrenzung, aber es ist ratsam, die Anzahl der Wiederholungen auf ein sinnvolles Maß zu beschränken, um die Performance nicht zu beeinträchtigen.

2. Kann ich auch andere Zellen als Ziel verwenden?
Ja, Du kannst den Zielbereich in der Range()-Anweisung anpassen, um Werte in andere Zellen zu kopieren, z.B. Range("K" & i).

3. Wie kann ich den Code anpassen, um unterschiedliche Zellen zu kopieren?
Ändere einfach die Range("H2")-Angabe auf die gewünschte Zelle, die Du kopieren möchtest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige