1
我有下面的宏和我想要實現以下目標:Excel宏 - 所有未運行的替補
- 刪除第3行
- 自動調整每列
- 重命名一些列和刪除剩餘的。
它似乎只運行刪除前3行的任何其他的第一個例程。我對Macro很新,所以看起來我錯過了一些重要的東西來運行所有的Subs?
顯式的選項
Sub sbDeleteARowMulti()
Rows("1:3").Delete
End Sub
Sub sbChangeColumnWidthMulti()
Columns("A:Z").AutoFit
End Sub
Sub RenDelCols()
Dim vCols As Variant
Dim vNames As Variant
Dim iCols As Integer
Dim iCol As Integer
Dim wks As Worksheet
Dim i As Integer
'define the worksheet
Set wks = Worksheets("timesheets2")
'Cols in Receiving to be renamed
vCols = Array(2, 9, 14, 15, 16, 19) 'Cols A,L,N,Q,X,Y
'Names from Order to rename them to
vNames = Array("Project", "Supervisor", "Employee", "Status", "Date", "Time")
With wks
iCols = .Cells(1, .Columns.Count).End(xlToLeft).Column
For iCol = iCols To 1 Step -1
i = 0
'check if col number is one to change
On Error Resume Next
i = Application.WorksheetFunction.Match(iCol, vCols, 0)
On Error GoTo 0
If i = 0 Then
'column is not in list, delete it
.Columns(iCol).EntireColumn.Delete
Else
'col is in list, rename it
.Cells(1, iCol).Value = vNames(i - 1)
End If
Next
End With
End Sub
另外兩個潛艇永遠不會被調用,所以當然,他們不會執行。 – waka
你如何運行你的代碼?將所有的子合併爲一個,然後嘗試。 – Maddy