删除VBA excel中的空格

时间:2012-05-13 18:03:05

标签: excel vba

我有一些代码用于将文本从单元格移动到单元格

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上的第一个代码。

2 个答案:

答案 0 :(得分:13)

你应该使用
CStr

Str

然后不需要解决方法来移除不必要的空间

 f = "F" & CStr(toIndex)
 g = "G" & CStr(startIndex)  

来自Str的Excel帮助

  

当数字转换为字符串时,始终为数字符号保留前导空格。

答案 1 :(得分:7)

您可以TRIM()最终结果中的toIndexREPLACE个空格,即

Replace ("alphabet", "a", "e")  'would return "elphebet"

示例从此处解除:http://www.techonthenet.com/excel/formulas/replace.php

因此...

f = Replace (f, " ", "")