我有一组数据,其中每第三列是相同的.我想只留下第一列,必须删除其他相同的列.
起初我尝试了这个代码,但它删除了错误的列,因为在每个循环中其他列的位置都被更改了.
Sub DeleteMultipleColumns()
Dim i As Integer
Dim LastColumn As Long
Dim ws As Worksheet
Set ws = Sheets("Arkusz2")
LastColumn = ws.Cells(1, Columns.Count).End(xlToLeft).Column
ws.Activate
For i = 4 To (LastColumn - 2)
ws.Columns(i).Select
Selection.Delete Shift:=xlToLeft
i = i + 3
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
在此之后我尝试了另一个使用Union.它不起作用:
Sub DeleteMultipleColumns()
Dim i As Integer
Dim LastColumn As Long
Dim ws As Worksheet
Set ws = Sheets("Arkusz2")
LastColumn = ws.Cells(1, Columns.Count).End(xlToLeft).Column
ws.Activate
For i = 4 To (LastColumn - 2)
Application.Union.Columns(i).Select
i = …Run Code Online (Sandbox Code Playgroud) 我对VBA和Excel中的宏非常陌生。我有一个很大的Excel电子表格,其中A列保存日期。我正在尝试删除值小于特定日期的行,这是我到目前为止提出的。
Sub DELETEDATE()
Dim x As Long
For x = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row
Debug.Print Cells(x, "A").Value
If CDate(Cells(x, "A")) < CDate("01/01/2013") Then
Cells(i, "A").EntireRow.Delete
End If
Next x
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
我收到没有错误的Next ...有人可以帮忙吗?