String Str增加了额外的空间
这将从String Str增加了额外的空间,string,excel,vba,String,Excel,Vba,这将从Str()的帮助页面返回“B4”而不是“B4任何人都知道该问题” 将数字转换为字符串时,始终使用前导空格 保留用于数字的符号。如果数字为正数,则返回 字符串包含前导空格,并隐含加号 Str()为标志留出空间 由于Excel具有隐式转换,因此您可以使用rg=“B”&i并获得所需的范围Excel基于int合成字符串 这是一个描述 使用format()函数 Dim i As Integer i = Int((8 - 2 + 1) * Rnd + 2) Dim rg As String Dim
Str()的帮助页面返回“B4”而不是“B4任何人都知道该问题”
将数字转换为字符串时,始终使用前导空格
保留用于数字的符号。如果数字为正数,则返回
字符串包含前导空格,并隐含加号
Str()
为标志留出空间
由于Excel具有隐式转换,因此您可以使用rg=“B”&i
并获得所需的范围Excel基于int合成字符串
这是一个描述
使用format()函数
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)
使用修剪功能删除前导空间,如下所示:
con = format(i)
rg = "B" & con
MsgBox (rg)
使用Cstr(i)
而不是Str(i)
Cstr
不添加空格。Trim避免任何与标题/结尾空格相关的问题(con=Trim(Str(i)))。我在处理字符串时总是使用它。下面回答了您的问题,这只是一个一般性的建议:)+1,在各种建议中,这是最简单的。如果您的区域设置使用的小数分隔符与“Str始终使用”不同,则Str和Cstr的行为并不相同。Cstr使用的是本地小数分隔符。
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