Stellen Sie sich vor, in Blatt (4) habe ich die folgenden, wobei D und E sind die Spalten und 8 und 9 sind die Zeilennummer.VBA: Hinzufügen von Werten zu einem Array auf der Grundlage einer Bedingung
Daher möchte ich diese Werte mit den Werten der Spalten B und D aus Blatt (1) der gleichen Arbeitsmappe vergleichen. Wenn die Werte gleich sind, dann wird zum Beispiel der I entsprechenden Wert der Spalte G. bringen:
B C G
13 1 A 5
14 1 B 6
15 1 C 7
16 2 A 8
17 2 B 9
18 2 C 10
19 3 A 11
20 3 B 12
21 3 C 13
I prüft, ob sh4.cells (8, D) = sh1.cells (13, B), und wenn das ist wahr, ich werde überprüfen, ob sh4.cells (9, D) = sh1.cells (13, C). Wenn beide Bedingungen erfüllt sind, bringe ich den Wert der Spalte G, die 5 ist, in das Array ein.
Der Code, den ich geschrieben habe, ist unten und ich zähle mit Ihrer Hilfe, um zu sehen, warum es nicht funktioniert.
Dim d as integer
d = 0
Dim c as integer
c = 1
Dim refConcentrations as variant
If sh4.cells(8,3+c) = sh1.cells(13+d,2) Then
If sh4.cells(9,3+c) = sh1.cells(13+d,3) Then
If IsEmpty(refconcentrations) Then
ReDim refConcentrations(1 To 1) As Variant
refConcentrations(UBound(refConcentrations)) = sh1.cells(13+d,7).value
Else
ReDim Preserve refConcentrations(1 To UBound(refConcentrations) + 1) as Variant
End If
End If
End If
Vielen Dank im Voraus.
aber ist es nur Spalte D und E in Bogen (4)? oder wächst es zu den Spalten F und G oder zu den Zeilen? –
Shai Rado, kann es in Zeilen und Spalten wachsen – vbalearner
in Blatt (4) können Sie in Rows wachsen? –