Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Benannte Bereiche

Benannte Bereiche
Hendryk
Hallo zusammen,
ich bräuchte mal wieder eure Hilfe und zwar möchte ich alle benannten Zellbereiche einer Seite auslesen (nicht des gesammten Workbooks).
Folgendes Makro hab ich mir dazu schon gebastelt oder besser gesagt zusammengeklaut:
Sub Retrievebereiche()
Dim benannteBereiche As Object
Dim VglName As String
For Each benannteBereiche In ThisWorkbook.Names
VglName = benannteBereiche.Name
If InStr(VglName, "RET_TMMIP") > 0 Then
MsgBox (VglName)
End If
Next benannteBereiche
End Sub
Problem ist nur, dass dieses makro für die gesamte Arbeitsmappe gültig ist.
Kann man irgendwie die Zellbenammungen einer Seite auslesen?
Vielen Dank für eure Hilfe
Hendryk

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Benannte Bereiche
03.08.2009 14:08:22
Hajo_Zi
Hallo Hendryk,
Option Explicit
Sub Retrievebereiche()
Dim benannteBereiche As Object
Dim VglName As String
For Each benannteBereiche In ThisWorkbook.Names
VglName = benannteBereiche.Name
If InStr(benannteBereiche.RefersTo, "!") > 1 Then ' Tabelle angegeben
If Mid(benannteBereiche.RefersTo, 2, InStr(benannteBereiche.RefersTo, "!") - 2) =  _
ActiveSheet.Name Then
MsgBox (VglName)
End If
Else
If InStr(VglName, "RET_TMMIP") > 0 Then MsgBox (VglName)
End If
Next benannteBereiche
End Sub


Anzeige
AW: Benannte Bereiche
03.08.2009 14:26:57
Hendryk
Super Hajo,
Vielen lieben Dank, hast mir echt geholfen und viele liebe Grüße nach Neubrandenburg - ist auch meine Geburtsstadt.
Viele Grüße
Hendryk
AW: Benannte Bereiche
03.08.2009 15:12:28
Luschi
Hallo Hajo,
hier eine kleine Anpassung. Wenn es im Tabellenblattnamen Leerzeichen gibt, werden diese Namen nicht erfaßt, da die RefersTo-Eigenschaft dann z.B. so aussieht: ='Tabelle 2'!$E$5:$E$13 , Activesheet.Name aber Tabelle 2 liefert.
Diese einfachen Hochkommas müssen noch behandelt werden.

Sub Retrievebereiche()
Dim benannteBereiche As Object
Dim VglName1 As String, VglName2 As String
For Each benannteBereiche In ThisWorkbook.Names
VglName1 = benannteBereiche.Name
If InStr(benannteBereiche.RefersTo, "!") > 1 Then ' Tabelle angegeben
VglName2 = Mid(benannteBereiche.RefersTo, 2, InStr(benannteBereiche.RefersTo, "!") - _
2)
'Entfernen der einfachen Hochkommas
VglName2 = Replace(VglName2, "'", "", 1, -1)
If VglName2 = ActiveSheet.Name Then
MsgBox VglName1
End If
Else
If InStr(1, VglName1, "RET_TMMIP", vbTextCompare) > 0 Then MsgBox VglName1
End If
Next benannteBereiche
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Benannte Bereiche
03.08.2009 15:53:39
Hajo_Zi
Hallo Luschi,
ich benutze eher Application.WorksheetFunction.Substitute damit es auch in Verion 97 geht.
Gruß Hajo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige