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

Kev*_*inD 6 excel vba excel-vba

我很难从一个单元格中拆分前三个字符,并将它们作为单独的字符串插入另一个单元格中.

我的(例子)输入:

A

A123456
A133457
B123456
B133457
...
Run Code Online (Sandbox Code Playgroud)

我想要的是:

A            B
A123456      A12
A133457      A13
B123456      B12
B133457      B13
...          ...
Run Code Online (Sandbox Code Playgroud)

我尝试了什么:

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
Run Code Online (Sandbox Code Playgroud)

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

Gin*_*nja 9

在没有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
Run Code Online (Sandbox Code Playgroud)

请注意,我已经修改了范围.您可能希望进一步限制为"A:A"需要一段时间.

偏移函数表示"使用当前单元格右侧的单元格1".

  • @KevinD只需在A列的左侧插入一列,然后调整VBA或工作表公式的答案以反映 (2认同)