是否可以使用VBA将值从ColumnC移到ColumnB,从ColumnD移到ColumnC等?我的问题是,在Excel中导入文本文件并将其格式化为文本后,可以使用列值。某些数据放置位置不正确。例如,
ColA | ColB | ColC | ColD
1 | Sam1 | ABC | 111
2 | Sam2 | DEF | 222
3 | Sam3 | 101 | 333
4 | Sam4 | ABC | 444
在此示例中,值为“ ABC”和“ DEF”的ColC是ColB的一部分。但是,在将其格式化为文本到列之后,将其放置在ColC中。来自ColD的值应该在ColC中。在VBA中可以做到吗?如果是,您能给我个方法吗?
谢谢。
答案 0 :(得分:0)
下面的代码在值是数字时将在col3中插入一个空白单元格,然后将col2和col3中的值组合在一起,然后删除col3。
Dim ws As Worksheet, lRow As Long, i As Long
Set ws = ThisWorkbook.ActiveSheet
lRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
With ws
For x = 1 To lRow
If IsNumeric(.Cells(x, 3).Value) Then
.Cells(x, 3).Insert Shift:=xlToRight
End If
.Cells(x, 2).Value = .Cells(x, 2).Value & " " & .Cells(x, 3).Value
Next x
.Columns(3).Delete
End With
End Sub