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人知道这个问题海峡增加了额外的空间
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人知道这个问题海峡增加了额外的空间
从帮助页面Str()
当数转换为字符串,领先的空间总是 保留为数字的符号如果数字是正数,则返回的 字符串包含前导空格并且隐含加号
Str()
为标志留下空间。
由于Excel有隐式转换,你可以使用rg = "B" & i
并获得一系列你想要
使用format()函数...
con = format(i)
rg = "B" & con
MsgBox (rg)
使用裁剪功能删除前导空间下:
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
使用Cstr(i)而不是Str(i) - Cstr不会添加空间
+1,在各种建议中,这是最直接的。 –
修剪避免任何标题/结束空白空间相关问题(con = Trim(Str(i)))。我总是在处理字符串时使用它。你的问题在下面得到解答,这只是一个通用的建议:) – varocarbas