Dim i As Integer
i = Int((8 - 2 + 1) * Rnd + 2)
Dim rg As String
Dim con As String
con = Str(i)
rg = "B" & con
MsgBox (rg)
这返回“B 4”而不是“B4任何人都知道问题
答案 0 :(得分:13)
使用Cstr(i)而不是Str(i) - Cstr不添加空格
答案 1 :(得分:5)
从Str()
当数字转换为字符串时,始终是前导空格 保留给号码的标志。如果数字为正数,则返回 string包含一个前导空格,暗示加号。
答案 2 :(得分:2)
Str()
为标志留出空间。
由于Excel具有隐式转换,您可以使用rg = "B" & i
并获得所需的范围
答案 3 :(得分:2)
使用format()函数...
con = format(i)
rg = "B" & con
MsgBox (rg)
答案 4 :(得分:0)
答案 5 :(得分:0)
使用修剪功能删除前导空格,如下所示:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Integer
i = Int((8 - 2 + 1) * Rnd + 2)
Dim rg As String
Dim con As String
con = Str(i)
rg = "B" & Trim(con)
MsgBox (rg)
End Sub