VBA – 将string的前三个字符复制到另一个单元格中

我努力把一个单元格的前三个字符分开,并把它们作为一个单独的string插入到另一个单元格中。

我的(例子)input:

A A123456 A133457 B123456 B133457 ... 

我想要的是:

 AB A123456 A12 A133457 A13 B123456 B12 B133457 B13 ... ... 

我试过的:

 Dim ws As Worksheet Dim cell As Range Set ws = Worksheets("summary") For Each cell In ws.Range("A").Cells cell.Value = Left(cell.Value, 3) Next cell 

这是行不通的,因为我会覆盖所有单元格A中我不想要的值。 有人可以提供帮助吗?

在没有VBA的Excel中,可以使用公式:= LEFT(A1,3)

使用VBA,您可以执行以下操作:

 For Each cell In ws.Range("A:A").Cells cell.Offset(0, 1).Value = Left(cell.Value, 3) Next cell 

请注意,我已经修改了范围。 你可能想限制更进一步,因为“A:A”将需要一段时间。

偏移function说“使用当前单元格右侧的单元格1”。