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 任何人都知道这个问题
使用Cstr(i)
而不是Str(i)
. Cstr
不添加空格。
从帮助页面Str()
将数字转换为字符串时,始终为数字的符号保留前导空格。如果 number 为正数,则返回的字符串包含前导空格并隐含加号。
使用 format() 函数...
con = format(i)
rg = "B" & con
MsgBox (rg)
Str()
为标志留出空间。
由于Excel具有隐式转换,您可以使用rg = "B" & i
并获取您想要的范围
使用 Trim 函数删除前导空格,如下所示:
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