Verwenden benannter Bereiche in einem Makro (Microsoft Excel)
Bruce hat einen benannten Bereich (Account) in einer Arbeitsmappe definiert und fragt sich, wie er innerhalb eines Makros auf diesen benannten Bereich zugreifen und ihn verwenden kann. Es gibt verschiedene Möglichkeiten, auf den Bereich zuzugreifen, entweder über das Range-Objekt oder über die Names-Auflistung.
Um mit dem Range-Objekt auf den benannten Bereich zuzugreifen, müssen Sie lediglich den Namen des Bereichs als Parameter für das Objekt angeben. Dieser Name ist derselbe, den Sie in Excel definiert haben. Zum Beispiel könnte die folgende Zeile verwendet werden, um die Innenfarbe des gesamten Bereichs zu ändern:
Worksheets("Sheet1").Range("Account").Interior.Color = vbYellow
Beachten Sie, dass das Range-Objekt relativ zu einem bestimmten Arbeitsblatt verwendet wird, in diesem Fall Sheet1. Sie können ein Bereichsobjekt auch in VBA definieren und es dann so zuweisen, dass es dem benannten Bereich entspricht:
Set rng = Worksheets("Sheet1").Range("Account")
Die andere Methode zur Verwendung des benannten Bereichs ist die Verwendung der Names-Auflistung. In der folgenden Zeile wird die Innenfarbe des Bereichs erneut auf Gelb gesetzt:
Workbooks("Book1.xls").Names("Account").RefersToRange.Interior.Color = vbYellow
Beachten Sie, dass die Names-Auflistung relativ zur gesamten Arbeitsmappe ist. Daher ist es nicht erforderlich zu wissen, welchem Arbeitsblatt der benannte Bereich zugeordnet ist, wenn Sie diese Zugriffsmethode verwenden. Sie können ein Bereichsobjekt auch in VBA definieren und es so zuweisen, dass es dem benannten Bereich entspricht:
Set rng = Workbooks("Book1.xls").Names("Account").RefersToRange
Sie sollten wissen, dass die Names-Erfassungsmethode für den Zugriff auf einen benannten Bereich nur dann sinnvoll ist, wenn Sie nicht denselben benannten Bereich in verschiedenen Arbeitsblättern in der Arbeitsmappe definiert haben. In diesem Fall müssen Sie die Range-Objektmethode verwenden, für die ein bestimmter Arbeitsblattname in der Referenz verwendet werden muss.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (3106) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: