2017-04-11 54 views
-2

在下面的代码中:kk1 =“one”,kk2 =“Two”,kk3 =“Three”和kk4 =“Four”的值为 。 。读取for循环中的运行时变量的值

我想MSGBOX显示通过使用可以实现选择的情况下statment一,二,三,四,而不是KK1,KK2,KK3和KK4

For i = 1 To 4 
    vari_value = "kk" & i 
    MsgBox vari_value 
Next 
+0

没有指定'kk1 =“one”'等等...... – Gustav

+0

[引用变量名称在excel vba中可能重复](http://stackoverflow.com/questions/18336006/reference-variable-name -in-excel-vba) – Andre

+0

这是不可能的。改用数组。 – Andre

回答

1

,请参阅下面的代码回路从1到4的值 “KK1”, “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 

希望这能解决你的问题。

+0

其实@Nishit,KK1,KK2,KK3和KK4是带有样本值的变量 - “One”,“Two”,“Three”和“Four” 我想在消息框中显示的KK1,KK2,KK3和KK4的值不是固定值 – user7850661

+0

你有多少变量,如果是可编码的,你可以使用它。如果不是,那么vba不能在VBA中动态构建变量名称。你能否更具体地说明你需要什么。 –

+0

如果您想将KK1,KK2,KK3定义为一个浮点变量,则无法完成。出于简单的原因,LHS或RHS或两者应该是静态的以便使用。让我们来看看你的情况,当第一次实例中vari_value的值为KK1 =“One”时,只要“i”的值增加vari_value的值,即KK1变为KK2,所以KK1丢失 –