Ich würde gerne wissen, wie dies zu tun ist, wenn möglich. Ich habe die arrayC (26) wie folgt definiert:VBA - Erstellen Sie ein Array aus einem anderen Array
Dim arrayC(26) As String
arrayC(26) = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"
Dim i As Integer 'Position in the arrayC(26)
i = 1
Basierend auf dem Wert einer anderen Zelle, wenn sie einen Wert von 3 hat möchte ich von A nach C gehen, wenn sie einen Wert von 5 hat, wie ich Ich will von A nach E und so weiter.
Dim j As Integer
j = 1
ReDim arrayCont(j) As Variant
Lassen Sie uns annehmen, dass es von A bis C. geht Also, ich möchte, dass in arrayCont (j) Ich habe folgende Werte "A, B, C". Dann gehe ich zu Cells (8, "C"), um zu prüfen, ob es gleich dem Wert im ArrayCont (j) ist. Wenn ja, möchte ich diesen Wert aus dem ArrayCont (j) entfernen. Betrachten Sie zum Beispiel Zellen (8, "C") = "B". Dann wird mein ArrayCont (j) "A, C" sein. Wie kann ich das machen?
Der Code, den ich erstellt habe, ist:
Do While p <= sh1.Range("D6").Value
For p = 1 To sh1.Cells(6, "D").Value
If sh3.Cells(8, "C").Value = arrayC(p) Then
arrayCont(j) = arrayCont(j)
Else
arrayCont(j) = arrayC(p)
End If
Next p
j = j + 1
Loop
Vielen Dank im Voraus.
keine Antwort, aber 'arrayC' ist nicht das, was Sie denken, es ist - Es hat leere Strings für die ersten 26 Einträge (es beginnt bei Index 0) und dann 'ArrayC (26)' ist t er vollständige Zeichenfolge des Alphabets. Ich glaube, Sie wollen 'Dim ArrayC() als String 'und' ArrayC = Split ("A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P , Q, R, S, T, U, V, W, X, Y, Z ",", ")' – bobajob
Was bedeutet das ArrayC = Split ("A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z ",", ")? Wie Sie gesagt haben, beginnt ArrayC bei Index 0, aber wenn ich i = 1 definiere, beginnt es mit dem ersten Eintrag, richtig? – vbalearner
Probieren Sie 'Debug.Print (arrayC (26))' mit Ihrem Code und 'Debug.Print (arrayC (25))' mit meinem Code aus, um den Unterschied zu sehen. – bobajob