您好所有我继承了这个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