简单的问题,我只是看不出我的错误在哪里。我有2列数据。 B列中有8个字符的数据,从第11行开始.C列中包含大量数据,也从第11行开始。我正在尝试创建一个快速模块,我可以运行它将获取B列单元格中的前8个字符,并将其与C列中最多100个字符组合,并将此组合数据放入A列。这将循环并且为接下来的200行数据做这件事。代码如下。
Sub concat()
For X = 11 To 200
Range("A" & X).Value = Left("B" & X, 8) & Right("C" & X, 100)
Next X
End Sub
原始数据:
A B C
testdata SomeExtremelylongtext...
预期结果
A B C
testdataSomeExtremelylongtext... testdata SomeExtremelylongtext...
我实际得到的是什么
A B C
B11C11 testdata SomeExtremelylongtext...
答案 0 :(得分:2)
您需要更改:
Range("A" & X).Value = Left("B" & X, 8) & Right("C" & X, 100)
为:
Range("A" & X).Value = Left(Range("B" & X), 8) & Right(Range("C" & X), 100)
你真正找到文本字符串的左边8" B11"当你想要B11和C11范围内的值时,文本字符串" C11"的右边100。
答案 1 :(得分:1)
如果你想要来自" C"的前100个字符。然后将RIGHT
更改为LEFT
Range("A" & X).Value = Left(Range("B" & X).Value, 8) & Left(Range("C" & X).Value, 100)