您好所有我繼承了這個VBA這是目前回到了我兩個錯誤:VBA在格式化表格按預期
1)運行時錯誤「91」: 對象變量或帶塊變量未設置
2)運行時錯誤'1004': 對象'範圍'的方法'偏移'失敗
VBA很長,正如我所說的,我繼承了它的道歉。
Sub SortMain()
'
' SortMain Macro
' Sortingandcoloring
'
'
Sheets("Key Performance Audience Metric").Select
Range("B5:H5").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("Key Performance Audience Metric").AutoFilter.Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Key Performance Audience Metric").AutoFilter.Sort. _
SortFields.Add Key:=Range("C5:C55"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Key Performance Audience Metric").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Selection.AutoFilter
Range("K5:O5").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("Key Performance Audience Metric").AutoFilter.Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Key Performance Audience Metric").AutoFilter.Sort. _
SortFields.Add Key:=Range("L5:L55"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Key Performance Audience Metric").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Selection.AutoFilter
Range("R5:W5").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("Key Performance Audience Metric").AutoFilter.Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Key Performance Audience Metric").AutoFilter.Sort. _
SortFields.Add Key:=Range("S5:S55"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Key Performance Audience Metric").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Selection.AutoFilter
Range("A1").Select
Sheets("Engagement Quality Metrics").Select
Range("B5:L5").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("Engagement Quality Metrics").AutoFilter.Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Engagement Quality Metrics").AutoFilter.Sort. _
SortFields.Add Key:=Range("C5:C54"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Engagement Quality Metrics").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Selection.AutoFilter
Range("O5:W5").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("Engagement Quality Metrics").AutoFilter.Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Engagement Quality Metrics").AutoFilter.Sort. _
SortFields.Add Key:=Range("P5:P54"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Engagement Quality Metrics").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Selection.AutoFilter
Range("Z5:AH5").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("Engagement Quality Metrics").AutoFilter.Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Engagement Quality Metrics").AutoFilter.Sort. _
SortFields.Add Key:=Range("AA5:AA54"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Engagement Quality Metrics").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
Selection.AutoFilter
End With
Sheets("Video Views").Select
Range("B5:D5").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("Video Views").AutoFilter.Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Video Views").AutoFilter.Sort. _
SortFields.Add Key:=Range("C5:C55"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Video Views").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Selection.AutoFilter
Range("H5:J5").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("Video Views").AutoFilter.Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Video Views").AutoFilter.Sort. _
SortFields.Add Key:=Range("I5:I55"), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Video Views").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("Video Views").Select
Range("B5:D6").Select
Selection.Copy
Range("B5:D55").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("H5:J6").Select
Selection.Copy
Range("H5:J55").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Key Performance Audience Metric").Select
Range("B5:H6").Select
Selection.Copy
Range("B5:H55").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("K5:O6").Select
Selection.Copy
Range("K5:O55").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("R5:W6").Select
Selection.Copy
Range("R5:W55").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Sheets("Key Performance Audience Metric").Select
Range("A1").Select
Sheets("Engagement Quality Metrics").Select
Range("B5:L6").Select
Selection.Copy
Range("B5:L54").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("O5:W6").Select
Selection.Copy
Range("O5:W54").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("Z5:AH6").Select
Selection.Copy
Range("Z5:AH54").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select
Sheets("MACROS").Select
Sheets("Cross Platform Table").Select
Range("A1").Select
Sheets("Circle Charts").Select
Dim i As Long
i = Application.Intersect(Range("A:A"), ActiveSheet.UsedRange).End(xlDown).Row
Do While Range("A1").Offset(i, 0).Value = 0
Range("A1").Offset(i, 0).EntireRow.Delete xlShiftUp
i = i - 1
Loop
Sheets("Key Performance Audience Metric").Select
Dim j As Long
j = Application.Intersect(Range("V:V"), ActiveSheet.UsedRange).End(xlDown).Row
Do While Range("V1").Offset(j, 0).Value = 0
Range("V1").Offset(j, 0).EntireRow.Delete xlShiftUp
j = j - 1
Loop
Sheets("Engagement Quality Metrics").Select
Dim k As Long
k = Application.Intersect(Range("AJ:AJ"), ActiveSheet.UsedRange).End(xlDown).Row
Do While Range("AJ1").Offset(k, 0).Value = 0
Range("AJ1").Offset(k, 0).EntireRow.Delete xlShiftUp
k = k - 1
Loop
Sheets("MACROS").Select
Range("C8:D12").Select
With Selection.Font
.color = -11489280
.TintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
ExecuteExcel4Macro "PATTERNS(1,0,5287936,TRUE,2,3,0,0)"
ActiveCell.FormulaR1C1 = "DONE! Ready to Use!"
Range("A1").Select
End Sub
每個錯誤發生在哪裏? – Rory
彈出一個提示,它不會告訴我哪一行是問題 –
按'F8'開始分支,然後反覆按'F8'可以進入下一行。直到發生錯誤爲止,您將知道哪一行導致問題。由記錄器完全生成的宏(因爲這看起來是)通常很難適應,應該更多地用作提示如何實現特定的任務... – Wolfie