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

Forumthread: mehrere VBA Makros mit FOR NEXT Schleife möglich?

mehrere VBA Makros mit FOR NEXT Schleife möglich?
20.09.2024 12:16:13
Miss_Ladea
Hallo Excelfreunde,

Meine erstellten Makros führen folgendes aus:
1. eine Zelle kopieren
2. in einer 2. Zelle den Inhalt einfügen
3. in einer 3. Zelle das heutige Datum schreiben
Diese 3 Zellen beinhalten nur Datum.
Das ganze Makro betrifft nur eine einzige Zeile.

Hier ein Beispiel für die Zeile 10/11/12



Option Explicit

Sub Makro_Zeile10()
Dim Zelle As Date
Zeile = 10
Range("H" & Zeile).Copy ' Zelle kopieren
Range("E" & Zeile).PasteSpecial Paste:=xlPasteValues ' Inhalte einfügen
Range("F" & Zeile) = Date ' heutiges Datum einfügen
Application.CutCopyMode = False ' ESC Taste
MsgBox "Aufgabe erledigt" ' Message Box
End Sub

Sub Makro_Zeile11()
Dim Zelle As Date
Zeile = 11
Range("H" & Zeile).Copy ' Zelle kopieren
Range("E" & Zeile).PasteSpecial Paste:=xlPasteValues ' Inhalte einfügen
Range("F" & Zeile) = Date ' heutiges Datum einfügen
Application.CutCopyMode = False ' ESC Taste
MsgBox "Aufgabe erledigt" ' Message Box
End Sub

Sub Makro_Zeile12()
Dim Zelle As Date
Zeile = 12
Range("H" & Zeile).Copy ' Zelle kopieren
Range("E" & Zeile).PasteSpecial Paste:=xlPasteValues ' Inhalte einfügen
Range("F" & Zeile) = Date ' heutiges Datum einfügen
Application.CutCopyMode = False ' ESC Taste
MsgBox "Aufgabe erledigt" ' Message Box
End Sub


Es ist also für jede Zeile immer der gleiche Code.
Die Datei beinhaltet aber sehr viele Zeilen.
Also müsste ich für jede Zeile ein eigenes Makro schreiben.
Ist es möglich, dafür eine FOR NEXT Schleife zu verwenden?

Liebe Grüße
Birgit
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: mehrere VBA Makros mit FOR NEXT Schleife möglich?
20.09.2024 12:24:47
peter
Hallo



Sub Makro_Zeile()
Dim Zeile as Long
For Zeile =10 to 12
Range("H" & Zeile).Copy ' Zelle kopieren
Range("E" & Zeile).PasteSpecial Paste:=xlPasteValues ' Inhalte einfügen
Range("F" & Zeile) = Date ' heutiges Datum einfügen
Application.CutCopyMode = False ' ESC Taste
next Zeile
MsgBox "Aufgabe erledigt" ' Message Box
End Sub


Peter
Anzeige
AW: ein VBA Makro ohne FOR NEXT Schleife möglich!
20.09.2024 12:39:25
GerdL
Moin
Sub Makro_Zeile10_bis_x()


Dim Zeile As Long, letzteZeile As Long


Zeile = 10
letzteZeile = 33 'anpassen


Range("H" & Zeile & ":H" & letzteZeile).Copy ' Zellen kopieren
Range("E" & Zeile & ":E" & letzteZeile).PasteSpecial Paste:=xlPasteValuesAndNumberFormats ' Inhalte u. Zahlenformat einfügen
Range("F" & Zeile & ":F" & letzteZeile) = Date ' heutiges Datum einfügen

Application.CutCopyMode = False ' ESC Taste
MsgBox "Aufgabe erledigt" ' Message Box


End Sub

Gruß Gerd
Anzeige
AW: mehrere VBA Makros // ohne Schleife
20.09.2024 12:45:35
UweD
Hallo


ohne Schleife

Sub Makro_Zeile2()

Range("E10:E12") = Range("H10:H12").Value
Range("F10:F12") = Date
End Sub



LG UweD
AW: mehrere VBA Makros mit FOR NEXT Schleife möglich?
20.09.2024 14:11:04
daniel
Hi
da alle Makros bis auf die Zeilennummer exakt gleich sind, kannst du dir auch ein einziges Makro schreiben, bei dem die Zeilennummer variabel ist.
Diese Zeilennummer definiert man als Übergabeparameter, den man beim Aufruf des Makros mit angeben kann:

Sub Makro_Zeile(byVal Zeile as long)

Cells(Zeile, "E").value = Cells(Ze, "H").value
Cells(Zeile, "F").value = Date
Msgbox "Aufgabe erledig"
End Sub


und im Hauptmakro programmierst du dann:
Makro_Zeile 10

oder
Call Makro_Zeile(10)


die 10 ist dann die Zeile, mit der das Makro arbeitet und du kannst diese variabel angeben, also auch:
dim x as long

x = 12
call Makro_Zeile(x)


Gruß Daniel

Anzeige
AW: mehrere VBA Makros mit FOR NEXT Schleife möglich?
20.09.2024 14:17:06
daniel
kleine Korrketur:

Sub Makro_Zeile(byVal Zeile as long)

Cells(Zeile, "E").value = Cells(Zeile, "H").value
Cells(Zeile, "F").value = Date
Msgbox "Aufgabe erledig"
End Sub
AW: mehrere VBA Makros // ohne Schleife
20.09.2024 14:00:12
Miss_Ladea
Hallo UweD

Ich habe dein Makro gerade probiert.
Macht leider nicht das, was ich eigentlich will.
Mit dem Makro werden alle 3 Zeilen bearbeitet.
Ich will aber, dass nur 1 Zeile bearbeitet wird.

LG
Birgit
Anzeige
AW: mehrere VBA Makros // ohne Schleife
20.09.2024 14:10:25
ralf_b
wenn du eine for schleife verwendest ,dann läuft das rasend schnell durch. also kannst du auch gleich alle Zeilen übertragen so wie das der UweD gezeigt hat.
das geht sogar noch schneller als eine for schleife.

Mir scheint du möchtest zwar eine Abarbeitung für den ganzen Bereich aber in jedem Schleifendurchlauf evtl. noch eingreifen können.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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