VBA-将字符串中的前三个字符复制到另一个单元格中
我很难从一个单元格中拆分前三个字符,并将它们作为单独的字符串插入另一个单元格 我的(示例)输入: 我想要的是:VBA-将字符串中的前三个字符复制到另一个单元格中,vba,excel,Vba,Excel,我很难从一个单元格中拆分前三个字符,并将它们作为单独的字符串插入另一个单元格 我的(示例)输入: 我想要的是: 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 I
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”。非常感谢。在这个例子中,我说我需要右单元格来表示新的值,但我需要左单元格(因此,单元格A中的所有值都在单元格B中,剪切后的值将进入单元格A)。希望你明白我的意思。我该怎么做?@KevinD只需在a列的左侧插入一列,然后调整VBA或工作表公式答案以反映该公式:=左(B1,3)VBA:对于ws.Range(“B:B”).Cells cell.Offset(0,-1)。Value=左(cell.Value,3)下一个单元格
For Each cell In ws.Range("A:A").Cells
cell.Offset(0, 1).Value = Left(cell.Value, 3)
Next cell