Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Schleife mit Bedingung

VBA Schleife mit Bedingung
Benjamino
Hallo zusammen,
bin ein blutiger VBA-Neuling und versuche bislang erfolglos mein Problem zu lösen. Wäre unendlich dankbar, wenn mir jemand weiterhelfen könnte.
Das unten stehende Makro "Makro2" soll solange durchlaufen werden, bis in der Spalte A im Sheet "Readme" keine befüllte Zellen mehr vorhanden sind. Solange dort Werte enthalten sind, muss dieser Parameter wie unten praktiziert an das Sheet "Volatility" nach B1 kopiert werden, durch das Makro "ExtractData" berechnet werden und dann die Ausgabewerte C3 und G3 (die Zellen verändern sich nicht) zurück in das Sheet "Readme" in die jeweilige Zeile des Eingangswertes (in Spalte C und G) zurückgeschrieben werden.
Herzlichen Dank!
Sub Makro2()
' Makro2 Makro
' Tastenkombination: Strg+y
Application.ScreenUpdating = False
Sheets("ReadMe").Select
Range("A3").Select
Selection.Copy
Sheets("Volatility").Select
Range("B1").Select
ActiveSheet.Paste
Call ExtractData
Sheets("Volatility").Select
Range("B6").Copy
Sheets("ReadMe").Range("C3").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
Sheets("Volatility").Select
Range("B5").Copy
Sheets("ReadMe").Range("G3").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Schleife mit Bedingung
20.03.2010 23:25:52
fcs
Hallo Benjamino,
etwa so
Gruß
Franz
Sub Makro2()
' Makro2 Makro
' Tastenkombination: Strg+y
Dim Zeile As Long
Application.ScreenUpdating = False
With Sheets("ReadMe")
For Zeile = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(Zeile, 1).Copy Destination:=Sheets("Volatility").Range("B1")
Call ExtractData
.Cells(Zeile, 3).Value = Sheets("Volatility").Range("B6")
.Cells(Zeile, 7).Value = Sheets("Volatility").Range("B5")
Next
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

AW: VBA Schleife mit Bedingung
21.03.2010 10:38:06
Benjamino
Vielen Dank Franz, das sieht sehr gut aus!
Irgendwie funktioniert das Makro jedoch nicht wie es sollte. Mir erscheint es, als ob nicht abgewartet wird bis das Makro "ExtractData" vollständig ausgeführt wird und der Code bereits die nächste abarbeitet. Kann das sein? Kann man irgendwie einbauen, dass das Makro solange stoppt, bis Extractdata ausgeführt ist?
Gruss
Benjamin
Anzeige
AW: VBA Schleife mit Bedingung
21.03.2010 10:43:34
Gerd
Hallo Benjamino!
Irgendwie sieiht man den Code des Makros "ExtractData" hier noch nicht.
Gruß Gerd
AW: VBA Schleife mit Bedingung
21.03.2010 11:08:01
fcs
Hallo Benjamino,
wenn du nicht sehr exotische Aktionen im anderen Makro hast, dann wird das Makro ausgeführt und anschließend im Hauptmakro weitergemacht. Das funktioniert in Excel strikt sequenziell.
Probleme machen ggf. der Import von Daten aus anderen Datenquellen oder die Aktualisierung von Abfragen.
Das Ende von deren Aktivitäten wird bei der Makroausführung nicht zwangsläufig abgewartet.
Da hilft es auch nicht unbedingt eine Pause in ein Makro einzubauen.
Im einfachten Fall muss du eine Neuberechung der Daten im Makro einbauen, bevor die Ergebnisse kopiert werden.
Gruß
Franz
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige