Hallo,
ich will Zellinhalte mit einander vergleichen (und dann neue
Werte in A1 einlesen)wobei die Zellen nicht streng monton
steigend vorliegen sondern auch zb 2,3,1,19,3 sein können.
Mein Code funktioniert nur bei Monoton steigend.
For e = 0 To 10
If Worksheets(„Tabelle1“).Range(„A2“).Value >=
Worksheets(„Tabelle2“).Range(„A1“).Value Then
Worksheets(„Tabelle1“).Range(„A1“).Value =
Worksheets(„Tabelle2“).Cells(12, 2 + e).Value
end if
next e
Dein Code hat das Problem, daß beim Prüfen und beim Ziel das e keine Rolle spielt. Das Ziel wird immer mit dem letzten Wert überschrieben. Das solltest Du prüfen, was Du da in diesem Beispiel vergessen hast zu schreiben.
Ich baue die indirekte Indizierung mal in Deinen Code ein, wie er ist und lasse den Fehler unberücksichtigt.
Option Explicit
Private Sub Test()
Dim e As Integer, Arr() As String, Q As String
Q = "2,3,1,19,3"
Arr = Split(Q, ",")
For e = 0 To UBound(Arr)
If Worksheets("Tabelle1").Range("A2").Value \>= Worksheets("Tabelle2").Range("A1").Value Then
Worksheets("Tabelle1").Range("A1").Value = Worksheets("Tabelle2").Cells(12, 2 + Val(Arr(e))).Value
End If
Next
End Sub
Gruß Rainer