아래 코드에서 ... kk1 = "one", kk2 = "Two", kk3 = "Three"및 kk4 = "Four" .for 루프에서 런타임 변수 값을 읽음
은 내가 MSGBOX이 하나, 둘, 셋 대신 KK1, KK2, KK3 및 KK4
For i = 1 To 4
vari_value = "kk" & i
MsgBox vari_value
Next
아래 코드에서 ... kk1 = "one", kk2 = "Two", kk3 = "Three"및 kk4 = "Four" .for 루프에서 런타임 변수 값을 읽음
은 내가 MSGBOX이 하나, 둘, 셋 대신 KK1, KK2, KK3 및 KK4
For i = 1 To 4
vari_value = "kk" & i
MsgBox vari_value
Next
네 달성 할 수있다 선택의 경우 한 Statment를 사용하여 표시 루프 아래의 코드를 참조 할 4-1에서, "KK2", "KK3", "KK4"
Public Sub run()
For i = 1 To 4
vari_value = "kk" & i
Select Case vari_value
Case Is = "kk1"
MsgBox "One"
Case Is = "kk2"
MsgBox "Two"
Case Is = "kk3"
MsgBox "Three"
Case Is = "kk4"
MsgBox "Four"
End Select
'MsgBox vari_value
Next
End Sub
희망 값 "KK1"와 함께이 문제를 해결합니다.
사실 @Nishit, KK1, KK2, KK3 및 KK4는 샘플 값이 "1", "2", "3"및 "4"인 양식 변수입니다. 고정 된 값이 아닌 메시지 상자에 표시 될 KK1, KK2, KK3 및 KK4의 값 – user7850661
얼마나 많은 변수가 있는지, 코드 할 수 있으면 이것을 사용할 수 있습니다. 그렇지 않으면 VBA는 VBA에서 변수 이름을 동적으로 작성할 수 없습니다. 당신이 필요로하는 것에 대해 좀 더 자세하게 설명해 주실 수 있습니까? –
다이나믹 변수로 KK1, KK2, KK3을 정의하려면 수행 할 수 없습니다. LHS 또는 RHS 또는 둘 모두가 정적으로 사용되어야한다는 간단한 이유 때문입니다. 당신의 경우, vari_value의 값이 1 차 intance에서 KK1 = "One"일 때, "i"의 값이 vari_value의 값으로 증가하자마자 KK1이 KK2로 변경되어 KK1이 손실됩니다. –
아무데도 'kk1 = "one"'등이 지정되어 있지 않습니다 ... – Gustav
[Excel vba에서 참조 변수 이름]의 가능한 복제본 (http://stackoverflow.com/questions/18336006/reference-variable-name -in-excel-vba) – Andre
불가능합니다. 대신 배열을 사용하십시오. – Andre