我有一些代码用于将文本从单元格移动到单元格
Dim startIndex As Integer
Dim toIndex As Integer
Dim f As String
Dim g As String
For startIndex = 50 To 60 Step 2
toIndex = Str(startIndex + 1)
f = "F" & Str(toIndex)
g = "G" & Str(startIndex)
Range(f).Value = Range(g).Value
Range(g).Value = ""
Next startIndex
但变量f有" F 51"值而不是" F51"。
如何解决这个问题? 附:这是我在vba上的第一个代码。
答案 0 :(得分:13)
你应该使用
CStr
不
Str
然后不需要解决方法来移除不必要的空间
即
f = "F" & CStr(toIndex)
g = "G" & CStr(startIndex)
来自Str
的Excel帮助
当数字转换为字符串时,始终为数字符号保留前导空格。
答案 1 :(得分:7)
您可以TRIM()
最终结果中的toIndex
或REPLACE
个空格,即
Replace ("alphabet", "a", "e") 'would return "elphebet"
示例从此处解除:http://www.techonthenet.com/excel/formulas/replace.php
因此...
f = Replace (f, " ", "")