Clever-Excel-Forum

Normale Version: VBA - Code For Schleife wird nicht richtig ausgeführt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich habe den folgenden Code geschrieben, tut aber nicht das wofür er vorgesehen ist. In der For-Schleife wird die If-Bedingung nicht ausgeführt.

Sub EURUSD()

Dim r1 As Range
Dim r2 As Range
Dim r3 As Range
Dim r4 As Range
Dim tr As Long

Set r1 = Worksheets("EURUSD=").Range("priceEUR")
Set r2 = Worksheets("EURUSD=").Range("dateEUR")
Set r3 = Worksheets("DPFC_EUR").Range("A11:A2232")
Set r4 = Worksheets("DPFC_EUR").Range("B11:B2232")

With Application
    .StatusBar = "Wait"
    .ScreenUpdating = False
    .DisplayAlerts = False
End With

Worksheets("DPFC_EUR").Range("B11:B2232").ClearContents

For tr = 1 To r3.Rows.Count
  If r3.Cells(tr, 1).Value = r2.Cells(tr, 1).Value Then
  r4.Cells(tr, 1).Value = r1.Cells(tr, 1).Value
 
  End If
 
Next tr

With Application
    .ScreenUpdating = True
    .DisplayAlerts = True
    .CutCopyMode = False
    .StatusBar = ""
End With

End Sub

Bereits jetzt vielen Dank im Voraus!

Viele Grüße

Nazim
Hi,

hast Du den Code im Debug-Modus durchlaufen lassen?
Welcher Fehler tritt auf?
Hallöchen,

sind die benannten Bereiche genau so lang wie die unbenannten?
übrigens, r4.ClearContents sollte auch gehen ...
Moin!
Nur ein dezenter Hinweis.
Es ist zwar nicht "verboten", aber zumindest verwirrend, Variablennamen zu wählen, die bereits indirekt belegt sind.
Code:
Sub Wirrwar()
Dim h4 As Range
Set h4 = Range("b2")
h4.Select
Range("h4").Select
Range(h4).Select 'läuft in LZF
End Sub

So wie ich Deinen Code deute, würde ich hier doch eher eine Formel wählen?
Zeigst Du mal die Datei?

Gruß Ralf