Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Str增加了额外的空间_String_Excel_Vba - Fatal编程技术网

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