HERBERS Excel-Forum - das Archiv
Bereich in einem nicht aktiven Blatt definieren
Peter

Guten Tag
Nachfolgender

Sub rufe ich auf zwecks Definition eines Bereiches. In der Regel definiere ich den Bereich in  _
der jeweils aktiven Tabelle. Jetzt habe ich festgestellt, wenn der zu definierende Bereich (hier in der Variable wkTabelle enthalten) in einer gerade nicht aktiven Tabelle steht, ich einen Anwendungs- oder objektdefinierten Fehler erhalte. Gibt es eine Möglichkeit den 

Sub umzuschreiben, so das nicht von Belang ist, das Worksheet gerade aktiv ist oder nicht.
Wer kann mir weiterhelfen?
Danke, Peter

Sub CreateBereich(strBereichsname As String, wkTabelle As Worksheet, spLinks As Long, zeUp As  _
Long, spRechts As Long, zeDown As Long)
Dim Bereich As Range
Set Bereich = Worksheets(wkTabelle.Name).Range(Cells(spLinks, zeUp), Cells(spRechts, zeDown))
ActiveWorkbook.Names.Add _
Name:=strBereichsname, _
RefersTo:=Bereich, Visible:=True
End Sub

AW: Bereich in einem nicht aktiven Blatt definieren
Beverly

Hi Peter,
ergänze vor Cells den Tabellennamen:
     Set Bereich = Worksheets(wkTabelle.Name).Range(Worksheets( _
wkTabelle.Name).Cells(spLinks, zeUp), _
Worksheets(wkTabelle.Name).Cells(spRechts, zeDown))


AW: Bereich in einem nicht aktiven Blatt definieren
Peter

Hallo Karin
Vielen Dank - das funktioniert so einwandfrei.
Gruss, Peter
AW: Yepp!
Gerd

Hi Peter!
Sub Start()
Call CreateBereich("Test", Worksheets("Tabelle3"), 2, 3, 5, 10)
End Sub
Sub CreateBereich(strBereichsname As String, wkTabelle As Worksheet, spLinks As Long, zeUp As _
Long, spRechts As Long, zeDown As Long)
Dim Bereich As Range
Set Bereich = wkTabelle.Range(wkTabelle.Cells(spLinks, zeUp), wkTabelle.Cells(spRechts, zeDown)) _
ActiveWorkbook.Names.Add _
Name:=strBereichsname, _
RefersTo:=Bereich, Visible:=True
End Sub
P.S. : Schreibe nicht soweit nach rechts. Da verrenkst dir ja den Hals. :-)
Gruß Gerd
AW: Yepp!
Peter

Hallo Gerd
Dankeschön!
wegen dem rechts schreiben: mein 24-Zoll Bildschirm verführt mich ab und zu dazu ...
Gruss, Peter