我正在尝试构建一个基本宏来对我的数据进行排序:
Sub Makro1()
Range("N1").Select
Selection.Copy
Range("A2").Select
ActiveSheet.Paste
Range("N2").Select
Application.CutCopyMode = False
Selection.Copy
Range("D2").Select
ActiveSheet.Paste
Range("N3").Select
Application.CutCopyMode = False
Selection.Copy
Range("C2").Select
ActiveSheet.Paste
我的数据是N列,一条记录需要3个单元格,我想将其复制到上面的一行。
现在我希望VBA继续复制,直到N列中的数据结束。
所以N4到A3,N5到C3等等。
我对VBA很陌生。
谢谢!
答案 0 :(得分:1)
喜欢这个吗?
Public Sub testing()
Dim i As Long
Application.ScreenpUpdating = False
With ActiveSheet
For i = 1 To .Cells(.Rows.Count, "N").End(xlUp).Row Step 3
.Cells(i + 1, "A") = .Cells(i, "N")
.Cells(i + 1, "D") = .Cells(i + 1, "N")
.Cells(i + 1, "C") = .Cells(i + 2, "N")
Next i
End With
Application.ScreenpUpdating = True
End Sub
如图所示将列N转换为左侧:
您可以使用
删除或隐藏空列A行.Range(.Cells(2, "A"), .Cells(.Cells(.Rows.Count, "N").End(xlUp).Row, "A")).SpecialCells(xlBlanks).Delete
或
.Range(.Cells(2, "A"), .Cells(.Cells(.Rows.Count, "N").End(xlUp).Row, "A")).SpecialCells(xlBlanks).EntireRow.Hidden = True