可能であれば、これを行う方法を知りたいと思います。それは私はそれが5の値を持っている場合はAからCに行きたい3の値を持っている場合、私は、別のセルの値に基づいてVBA - 別の配列から配列を作成する
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
:私はとarrayC(26)を定義していますAからEに行きたいと思っています。
Dim j As Integer
j = 1
ReDim arrayCont(j) As Variant
私たちは、それはそうからC.に行くと仮定しましょう、私はarrayCont(j)の中で、私は次の値 "A、B、C" を持っていることを望みます。それから、ArrayCont(j)の値と等しいかどうかを調べるためにCells(8、 "C")に行きます。もしそうなら、arrayCont(j)からその値を削除したいと思います。たとえば、Cells(8、 "C")= "B"とします。次に、私のarrayCont(j)は "A、C"になります。これどうやってするの?
私が作成したコードは次のとおりです。
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
は、事前にありがとうございます。
ない答えが、 'arrayC'は、あなたがそれだと思うものではありません - 最初の26エントリ(インデックス0から始まる)の空文字列があり、 'arrayC(26)'はt彼はアルファベットの完全な文字列です。私はあなたが 'Dim配列C()As String'と '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
arrayC = Split(" A、B、C、D、E、F、G、 O、P、Q、R、S、T、U、V、W、X、Y、Z "、" あなたが言ったように、arrayCはインデックス0から始まりますが、私がi = 1を定義している場合、最初のエントリから始まります。 – vbalearner
あなたのコードと 'Debug.Print(arrayC(25))'で 'Debug.Print(arrayC(26))'を試してみてください。 – bobajob