VBA Name zuweisen?

24/04/2014 - 03:00 von Peter Schuerer | Report spam
Hallo Zusammen,

XL2002.

Ich kopiere per Makro Werte in eine Tabelle und möchte dem Bereich, in
dem die Werte eingefügt werden, einen Namen zuweisen.

Range("E47").Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Names.Add Name:="AnwendZahl", RefersTo:="=" +
Selection.Address

Die Werte werden in Zeile 47 ab Spalte E eingefügt. Soweit kein Problem.
Wenn aber nur ein Wert vorhanden und eingefügt wird, erstellt das Makro
einen sinnlosen Bezug für den Namen.
Wie kann ich das Problem mit nur einem Wert umgehen?

Danke und Gruß
Peter
 

Lesen sie die antworten

#1 Claus Busch
24/04/2014 - 08:06 | Warnen spam
Hallo Peter,

Am Thu, 24 Apr 2014 03:00:36 +0200 schrieb Peter Schuerer:

Die Werte werden in Zeile 47 ab Spalte E eingefügt. Soweit kein Problem.
Wenn aber nur ein Wert vorhanden und eingefügt wird, erstellt das Makro
einen sinnlosen Bezug für den Namen.
Wie kann ich das Problem mit nur einem Wert umgehen?



überprüfe, ob in E47 überhaupt etwas drin steht und stelle die letzte
Spalte mit xlToLeft fest, das ist zuverlàssiger:

Dim myRng As Range

If Len(Range("E47")) > 0 Then
Set myRng = Range(Cells(47, "E"), _
Cells(47, Columns.Count).End(xlToLeft))
End If

If Not myRng Is Nothing Then
ActiveWorkbook.Names.Add Name:="AnwendZahl", _
RefersTo:="=" & myRng.Address
End If


Mit freundlichen Grüßen
Claus
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

Ähnliche fragen