将错误检查添加到生成命名范围的

时间:2016-07-13 21:39:42

标签: excel vba excel-vba named-ranges

我一直在使用以下代码为具有大量列的数据集生成命名范围

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)。是否有一种简单的方法让它只是跳过这一列并在遇到无效名称时继续前进?

1 个答案:

答案 0 :(得分:0)

最简单的方法是更改​​错误处理。在生成错误的代码行之前包含此代码:

On Error Resume Next

此代码指示脚本忽略从该点生成的任何错误。如果发生错误,则不会生成任何错误消息,脚本将继续执行下一行代码。

通过在产生错误的行之后立即添加错误处理来重新启动脚本的其余部分:

On Error Goto 0

有更好的方法来处理错误,但这可能是最容易使用的。