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

VBA Code 13x hintereinander ausführen

VBA Code 13x hintereinander ausführen
01.08.2014 12:38:20
Max
Hallo meine schlauen Füchse,
ich habe nochmal eine Frage.
Ich habe einen Makro geschrieben:
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 3).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("c18")
... ganz viele weitere Übertragungen
Dieser Makro soll nach Knopfdruck 14x ausgeführt werden. Ich habe keine Lust, jeden einzelnen Teil des Makros per Copy-Paste 14x hintereinander zu kopieren, geht das evtl. auch einfacher?
Beste Grüße und vielen Dank im Voraus!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code 13x hintereinander ausführen
01.08.2014 12:42:41
Hajo_Zi
warum schreiben wir Beiträge wenn Du Sie doch nicht beachtest
Sub mal()
Dim InI As Integer
For InI = 1 To 23
Cells(65000, InI).End(xlUp).Offset(1, 0) = Worksheets("upload_data").Cells(18, InI + 1)
Next
End Sub

AW: VBA Code 13x hintereinander ausführen
01.08.2014 12:59:42
Max
Okay, vielen Dank allen erstmal. Würde ich auf anhieb das finden was ich suche, würde ich gewiss hier nicht nachfragen ;)
Mein Wunsch wäre folgender, vielleicht habe ich das nicht ganz präzise formuliert. Mein Code sieht derzeit wiefolgt aus:
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Das ist 14x derselbe "Befehl" der ausgeführt werden soll. Das ganze möchte ich aber eben nicht so 14x hintereinander programmiert haben, sondern es soll 14x ausgeführt werden und anschließend geht man im Makro weiter, weil noch weitere 14xEr Schleifen folgen.
Grüße Max ;)

Anzeige
AW: VBA Code 13x hintereinander ausführen
01.08.2014 13:13:45
Hajo_Zi
Hallo Max,
Du hast Extra im ersten Beitrag anderen Code gepostet, da Du den Code selber an Deine Bedingungen anpassen möchtest, also mache es auch. Ich bin raus.
Gruß Hajo

AW: VBA Code 13x hintereinander ausführen
01.08.2014 12:49:25
Daniel
Hi
um den selben Codeteil mehrfach hintereinander auszuführen, verwendet man eine For-Next-Schleife.
Müssen Werte variiert werden, so berechnet man diese aus dem Schleifenzähler (hier die Spalte des zu kopierenden Bereichs)
Sub Makro1
Dim x as long
for x = 0 to 13
Cells(65000, 1).End(xlUp).Offset(1, 0) = Worksheets("upload_data").Range("b18").Offset(0, x) _
.value
Next
End Sub
In diesem Fall würde aber folgende Befehle ausreichen, um alle 14 Werte auf einmal zu kopieren:
Worksheets("upload_data").Range("B18").Resize(1, 14).Copy
Cells(Rows.Count, 1).End(xlup).Offset(1, 0).PasteSpecial xlpastevalues, Transpose:=True

das entspricht folgender Aktion ein Excel:
- im Blatt "upload_data" den Zellbereich B18:O18 kopieren
- als Wert mit der Option "Transponieren" im aktuellen Blatt am Tabellenende einfügen (Inhalte einfügen - Werte + Transponieren)
dh du brauchst hier keine Schleife sondern kannst alle Werte auf einmal übertragen.
Gruß Daniel

Anzeige
Zu den BasisKenntnissen JEDER ...
01.08.2014 12:50:18
Luc:-?
…PgmierSprache gehören auch zyklische, d.h. wiederkehrende, PgmAbläufe, auch (Pgm-)Schleifen genannt, Max!
Gruß, Luc :-?

AW: VBA Code 13x hintereinander ausführen
01.08.2014 13:15:52
Max
Hat sich erledigt!
Entschuldige bitte Hajo!

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige