我一直在使用以下代码为具有大量列的数据集生成命名范围
Sub Make_Named_Ranges()
Range("A1").Select
ActiveSheet.UsedRange
Dim rCell2 As Range
Dim wb2 As Workbook, ws2 As Worksheet
ActiveSheet.UsedRange.Select
Set ws2 = Selection.Parent
Set wb2 = ws2.Parent
For Each rCell2 In Selection.Cells
If rCell2.Address = "$A$2" Then Exit For
wb2.Names.Add rCell2.Value, "=" & ws2.Cells(2, rCell2.Column).Address
& _":" & ws2.Cells(ActiveSheet.Range("A"& Rows.Count).End(xlUp).Row,rCell2.Column).Address
Next rCell2
End Sub
我想添加的是一种错误检查形式 - 有时代码遇到第1行中的列标题,该列标题不是有效名称(例如,M2或SP500)。是否有一种简单的方法让它只是跳过这一列并在遇到无效名称时继续前进?
答案 0 :(得分:0)
最简单的方法是更改错误处理。在生成错误的代码行之前包含此代码:
On Error Resume Next
此代码指示脚本忽略从该点生成的任何错误。如果发生错误,则不会生成任何错误消息,脚本将继续执行下一行代码。
通过在产生错误的行之后立即添加错误处理来重新启动脚本的其余部分:
On Error Goto 0
有更好的方法来处理错误,但这可能是最容易使用的。