Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema RefEdit
BildScreenshot zu RefEdit RefEdit-Seite mit Beispielarbeitsmappe aufrufen

Bereich in einem nicht aktiven Blatt definieren | Herbers Excel-Forum


Betrifft: Bereich in einem nicht aktiven Blatt definieren von: Peter
Geschrieben am: 31.12.2009 15:21:41

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

  

Betrifft: AW: Bereich in einem nicht aktiven Blatt definieren von: Beverly
Geschrieben am: 31.12.2009 15:45:27

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))

GrußformelBeverly's Excel - Inn


  

Betrifft: AW: Bereich in einem nicht aktiven Blatt definieren von: Peter
Geschrieben am: 31.12.2009 15:54:09

Hallo Karin
Vielen Dank - das funktioniert so einwandfrei.
Gruss, Peter


  

Betrifft: AW: Yepp! von: Gerd L
Geschrieben am: 31.12.2009 15:54:12

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


  

Betrifft: AW: Yepp! von: Peter
Geschrieben am: 31.12.2009 15:55:27

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


Beiträge aus den Excel-Beispielen zum Thema "Bereich in einem nicht aktiven Blatt definieren"