Excelmacros不使用LEFT和RIGHT拉动charcacters

简单的问题,我只是没有看到我的错误在哪里。 我有2列的数据。 B列中有8个字符的数据,从第11行开始。列C中有大量的数据,也从第11行开始。 我想创build一个快速模块,我可以运行,将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 

原始数据:

 ABC testdata SomeExtremelylongtext... 

预期成绩

 ABC testdataSomeExtremelylongtext... testdata SomeExtremelylongtext... 

我实际上得到了什么

 ABC B11C11 testdata SomeExtremelylongtext... 

你需要改变:

 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) 

当您想要范围B11和C11中的值时,您几乎可以find文本string“B11”的左边8和文本string“C11”的右边100。

如果你想从“C”的前100个字符,然后将RIGHT改为LEFT

 Range("A" & X).Value = Left(Range("B" & X).Value, 8) & Left(Range("C" & X).Value, 100)