大家好我已经继承了这个VBA,目前正在给我两个错误:
1)运行时错误'91': 对象变量或未设置块变量
2)运行时错误'1004': 对象'Range'的方法'Offset'失败
VBA很长,正如我所说道歉,因为我继承了它。
res.json().data
答案 0 :(得分:1)
如果编写清楚,您会发现代码更易于诊断和调整。我不打算完成整个宏,但这里有一个代码开头应该是什么样子的样本!这从您的第一行到Range("K5:O5").Select
行。
Dim KPAMSheet as Worksheet
Set KPAMSheet = Sheets("Key Performance Audience Metric")
With KPAMSheet.AutoFilter.Sort
.SortFields.Clear
.SortFields.Add Key:=KPAMSheet.Range("C5:C55"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
KPAMSheet.Range("B5:H5").AutoFilter
请注意,您应该避免使用Select
和Selection
,它迟早会咬你的!如果您花了半个小时来修改上面的代码,它会更短,更清晰,更不容易出错......
请参阅此帖子:How to avoid using Select in Excel VBA macros
此外,我将在此重复我对如何调试的评论:
按F8启动潜水艇,然后反复按F8,您可以踩到下一行。这样做直到错误发生,你会知道哪一行导致了问题。我相信Mac上的等效快捷方式是Cmd
+ Shift
+ I
。或者,转到Debug
菜单,然后选择Step Into
。