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

标签 vba excel

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

我的(示例)输入:

A

A123456
A133457
B123456
B133457
...

我想要什么:

A            B
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中,您可以使用公式: =左(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”需要一段时间。

偏移函数表示“使用当前单元格右侧的单元格 1”。

关于VBA - 将字符串中的前三个字符复制到另一个单元格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35431207/

相关文章:

vba - 如何从 Excel 中的单元格中删除空行(VBA)

Excel - 测试范围地址中的两个连续数字是否相同

VBA Vlookup文件名

excel - IF语句: how to leave cell blank if condition is false ("" does not work)

vba - 如何从 Excel VBA 中的某个范围获取唯一值的列表?

java - POI API 的事件模型在 3.15 版本中不适用(出现编译错误)吗?

Excel:如果三个匹配,则从第三列返回值

在 Excel 中使用 VBA 将文本文件通过 FTP 传输到服务器

Excel 宏应用条件格式

VBA评估函数和数组公式返回值的范围