【发布时间】:2021-02-27 01:38:01
【问题描述】:
我有一个 VBA 代码,我必须在其中循环某个范围并使用一些连接来填充它,但我的 VBA 代码添加了不需要的空格。例如,让我们假设以下示例:
code = "NV"
ac = "Curncy"
With wsNew
Set rng = .Range(Cells(2, 2), Cells(2, 2).End(xlDown))
For Each r In rng
If r.Value = 17 Or r.Value = 18 Or r.Value = 19 Then
r.Offset(, 1) = code + r.Offset(, -1).Value + Str(Right(r.Value, 1)) + " " + Str(r.Value) + _
" " + ac
Else
r.Offset(, 1) = code + r.Offset(, -1).Value + Str(Right(r.Value, 1)) + _
" " + ac
End If
Next r
End With
对于第一个单元格(示例中的r 变量),我有r.Value = 18 和r.offset(,-1).Value = U,我希望为我的r.Offset(, 1) 获得NVU8 18 Curncy 的值。相反,代码添加了空格,我得到NVU 8 18 Curncy,在 U 和 8 之间有一个空格(要删除),在 8 和 18 之间有两个空格,而不是只有一个。
【问题讨论】:
-
使用 Cstr 而不是 Str。也可以将 & 用于连接,而不是 +。
标签: excel vba concatenation