2016-07-13 7 views
0

Ich habe den folgenden Code unter Verwendung von generieren benannte Bereiche für Datensätze mit einer großen Anzahl von Spalteneine Fehlerprüfung an VBA-Code hinzufügen, die Namen erzeugt Bereiche

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 

Was ich möchte hinzufügen, ist eine Form von Fehlerüberprüfung - gelegentlich stößt der Code in Zeile 1 auf eine Spaltenüberschrift, die kein gültiger Name ist (z. B. M2 oder SP500). Gibt es eine einfache Möglichkeit, diese Spalte einfach überspringen zu lassen und weiterzumachen, wenn ein ungültiger Name gefunden wird?

Antwort

0

Der einfachste Weg, dies zu tun, ist die Fehlerbehandlung zu ändern. Um diesen Code unmittelbar vor der Zeile (n) des Codes, der den Fehler erzeugt:

On Error Resume Next 

Dieser Code das Skript alle Fehler von diesem Punkt erzeugt, zu ignorieren instruiert auf. Wenn ein Fehler auftritt, wird keine Fehlermeldung generiert und das Skript wird mit der nächsten Codezeile fortgesetzt.

Schalten des Skripts Fehlerbehandlung für den Rest auf der Rückseite durch das Hinzufügen dieser unmittelbar nach der Zeile (n) zu erzeugen die Fehler:

On Error Goto 0 

Es gibt bessere Möglichkeiten, mit Fehlern umzugehen, aber das ist wahrscheinlich die einfachste benutzen.

Verwandte Themen