Hallo, ich versuche in meiner Excelversion 2016 auf dem Betriebssystem Windows 10 ein Makro zu schreiben und würde gerne um Rat fragen. Ich habe ein Anliegen, bei dem ich nicht weiß, ob es außergewöhnlich ist oder eher nicht, aber ich versuche es so genau wie möglich zu beschreiben. Ich möchte in Excel ein Makro programmieren, das in Spalte B eine Liste von Daten (Plural von Datum) durchgeht, und mit dem aktuellen Datum verlgeicht, das mittels Formel in „C1“ angezeigt wird. Wenn das passende Datum in der Spalte gefunden wurde, soll das Makro in derselben Zeile um eine Zelle nach rechts gehen und überprüfen, ob die Zelle leer ist. Also beispielsweise findet das Makro in Zeile 10 das richtige Datum und prüft dann die Zelle „C10“. Sollte diese Zelle leer sein, soll das Makro sich den Schlusskurs des EUR/USD – Kurses von diesem Datum aus dem Internet ziehen und in diese Zelle schreiben. Anschließend soll das Makro von dieser Zelle aus (also „C10“) eine Zeile nach oben gehen (also in „C9“) und gucken, ob diese Zelle leer. Falls ja, dann soll es in dieser Zelle genauso verfahren, wie in der Zelle darunter. Dieses Vorgehen soll das Makro so lange wiederholen, bis es auf eine Zelle stößt, in der bereits ein Wert steht.
Der Code, den ich bisher geschrieben habe, lautet wie folgt:
'Variablen definieren
Dim Datum As Date
Dim Datumsliste As Range
Dim NeuerKurs As Double
'Arbeitsblatt aktivieren und der Variable "Datum" das aktuelle Datum zuweisen
Worksheets("Historischer Kursverlauf Pos.").Activate
Datum = ActiveSheet.Range("C1").Value
'Das aktuelle Datum in der Datumsliste suchen
Set Datumsliste = Worksheets("Historischer Kursverlauf Pos.").Columns("B").Find(what:=Datum, Lookat:=xlWhole, LookIn:=xlFormulas)
Cells(Datumsliste.Activate, 3).Select
'If Cells(Datumsliste.Active, 3).Value = "" Then
'MsgBox Datumsliste
End Sub
|