DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 291308 - Geändert am: Freitag, 31. Januar 2014 - Version: 3.0

Auf dieser Seite

Weitere Informationen

Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität sowie ohne Anspruch auf Support zur Verfügung. In diesem Artikel wird vorausgesetzt, dass Sie mit der in den Beispielen verwendeten Programmiersprache und mit den zum Erstellen und Debuggen von Prozeduren verwendeten Tools vertraut sind. Die Spezialisten von Microsoft Support Services können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, jedoch werden sie diese Beispiele nicht in Bezug auf eine erweiterte Funktionalität verändern, noch werden sie Prozeduren entwickeln, die auf Ihre besonderen Bedürfnisse zugeschnitten sind. Bei den Beispielen in diesem Artikel werden die Visual Basic-Methoden in der folgenden Tabelle verwendet.
   Methode            Argumente
   ------------------------------------------
   Activate           keine
   Cells              rowIndex, columnIndex
   Application.Goto   reference, scroll
   Offset             rowOffset, columnOffset
   Range              cell1
                      cell1, cell2
   Resize             rowSize, columnSize
   Select             keine
   Sheets             index (oder sheetName)
   Workbooks          index (oder bookName)
   End                direction
   CurrentRegion      keine
				
Bei den Beispielen in diesem Artikel werden die Eigenschaften in der folgenden Tabelle verwendet.
   Eigenschaft      Verwendung
   ---------------------------------------------------------------------
   ActiveSheet      Bestimmen des aktiven Arbeitsblatts
   ActiveWorkbook   Bestimmen der aktiven Arbeitsmappe
   Columns.Count    Bestimmen der Spaltenanzahl im angegebenen Element
   Rows.Count       Bestimmen der Zeilenanzahl im angegebenen Element
   Selection        Herstellen des Bezugs zum aktuell ausgewählten Bereich
				

1: Auswählen einer Zelle im aktiven Arbeitsblatt

Verwenden Sie eines der folgenden Beispiele, um die Zelle D5 im aktiven Arbeitsblatt auszuwählen:
ActiveSheet.Cells(5, 4).Select
				
ODER
ActiveSheet.Range("D5").Select
				

2: Auswählen einer Zelle in einem anderen Arbeitsblatt derselben Arbeitsmappe

Um die Zelle E6 in einem anderen Arbeitsblatt derselben Arbeitsmappe auszuwählen, verwenden Sie eines der folgenden Beispiele:
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
				
   ODER
				
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
				
Sie können auch das Arbeitsblatt aktivieren und anschließend die zuvor beschriebene Methode 1 anwenden, um die Zelle auszuwählen:
Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select
				
Verwenden Sie eines der folgenden Beispiele, um die Zelle F7 in einem Arbeitsblatt in einer anderen Arbeitsmappe auszuwählen:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
				
ODER
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
				
Sie können auch das Arbeitsblatt aktivieren und anschließend die zuvor beschriebene Methode 1 anwenden, um die Zelle auszuwählen:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Cells(7, 6).Select
				

4: Auswählen eines Zellbereichs im aktiven Arbeitsblatt

Verwenden Sie eines der folgenden Beispiele, um den Bereich C2:D10 im aktiven Arbeitsblatt auszuwählen:
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select
				
ActiveSheet.Range("C2:D10").Select
				
ActiveSheet.Range("C2", "D10").Select
				

5: Auswählen eines Zellbereichs in einem anderen Arbeitsblatt derselben Arbeitsmappe

Verwenden Sie eines der folgenden Beispiele, um den Bereich D3:E11 in einem anderen Arbeitsblatt derselben Arbeitsmappe auszuwählen:
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
				
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")
				
Sie können auch das Arbeitsblatt aktivieren, und anschließend Methode 4 anwenden, um den Bereich auszuwählen:
Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
				

6: Auswählen eines Zellbereichs in einem Arbeitsblatt einer anderen Arbeitsmappe

Verwenden Sie eines der folgenden Beispiele, um den Bereich E4:F12 in einem Arbeitsblatt einer anderen Arbeitsmappe auszuwählen:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
				
Application.Goto _
      Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
				
Sie können auch das Arbeitsblatt aktivieren, und anschließend Methode 4 anwenden, um den Bereich auszuwählen:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
   ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
				

7: Auswählen eines benannten Bereichs im aktiven Arbeitsblatt

Verwenden Sie eines der folgenden Beispiele, um den Bereich mit dem Namen "Test" im aktiven Arbeitsblatt auszuwählen:
Range("Test").Select
				
Application.Goto "Test"
				

8: Auswählen eines benannten Bereichs in einem anderen Arbeitsblatt derselben Arbeitsmappe

Verwenden Sie folgendes Beispiel, um den Bereich mit dem Namen "Test" in einem anderen Arbeitsblatt derselben Arbeitsmappe auszuwählen:
Application.Goto Sheets("Sheet1").Range("Test")
				
Sie können auch das Arbeitsblatt aktivieren und anschließend Methode 7 anwenden, um den benannten Bereich auszuwählen:
Sheets("Sheet1").Activate
Range("Test").Select
				

9: Auswählen eines benannten Bereichs in einem Arbeitsblatt einer anderen Arbeitsmappe

Verwenden Sie folgendes Beispiel, um den Bereich mit dem Namen "Test" in einem Arbeitsblatt einer anderen Arbeitsmappe auszuwählen:
Application.Goto _
   Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
				
Sie können auch das Arbeitsblatt aktivieren und anschließend Methode 7 anwenden, um den benannten Bereich auszuwählen:
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
Range("Test").Select
				

10: Auswählen einer Zelle, die sich auf die aktive Zelle bezieht

Verwenden Sie folgendes Beispiel, um eine Zelle auszuwählen, die fünf Zeilen unter und vier Spalten rechts von der aktiven Zelle liegt:
ActiveCell.Offset(5, -4).Select
				
Verwenden Sie folgendes Beispiel, um eine Zelle auszuwählen, die zwei Zeilen über und drei Spalten rechts von der aktiven Zelle liegt:
ActiveCell.Offset(-2, 3).Select
				
Hinweis Wenn Sie eine Zelle auszuwählen versuchen, die "außerhalb des Arbeitsblatts" liegt, wird eine Fehlermeldung angezeigt. Das zuvor aufgeführte erste Beispiel gibt einen Fehler zurück, wenn die aktive Zelle sich in einer der Spalten von A bis D befindet, da die aktive Zelle durch das Verschieben um vier Spalten nach links zu einer ungültigen Zelladresse verschoben würde.

11: Auswählen einer Zelle, die sich auf eine andere Zelle als die aktive Zelle bezieht

Verwenden Sie eines der folgenden Beispiele, um eine Zelle auszuwählen, die fünf Zeilen unter und vier Spalten rechts von der Zelle C7 liegt:
ActiveSheet.Cells(7, 3).Offset(5, 4).Select
				
ActiveSheet.Range("C7").Offset(5, 4).Select
				

12: Auswählen eines Zellbereichs, der von einem festgelegten Bereich versetzt liegt

Verwenden Sie folgendes Beispiel, um einen Zellbereich auszuwählen, dessen Größe dem Bereich "Test" entspricht, der jedoch um vier Zeilen nach unten und um drei Spalten nach rechts verschoben ist:
ActiveSheet.Range("Test").Offset(4, 3).Select
				
Wenn sich der benannte Bereich in einem anderen Arbeitsblatt als dem aktiven Arbeitsblatt befindet, aktivieren Sie zuerst das Arbeitsblatt, und wählen Sie anschließend den Bereich mithilfe des folgenden Beispiels aus:
Sheets("Sheet3").Activate
ActiveSheet.Range("Test").Offset(4, 3).Select
				

13: Auswählen eines festgelegten Bereichs und Ändern der Größe dieses Bereichs

Verwenden Sie folgendes Beispiel, um den Bereich mit dem Namen "Database" auszuwählen und anschließend um fünf Zeilen auszuweiten:
Range("Database").Select
Selection.Resize(Selection.Rows.Count + 5, _
   Selection.Columns.Count).Select
				

14: Auswählen, Versetzen und Anpassen der Größe eines angegebenen Bereichs

Verwenden Sie folgendes Beispiel, um einen Bereich auszuwählen, der vier Zeilen unter und drei Spalten rechts vom Bereich "Database" liegt und der um zwei Zeilen und eine Spalte größer ist als der benannte Bereich:
Range("Database").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _
   Selection.Columns.Count + 1).Select
				

15: Auswählen der Vereinigungsmenge aus zwei oder mehr festgelegten Bereichen

Verwenden Sie folgendes Beispiel, um die Vereinigungsmenge (d. h. den zusammengefassten Bereich) der beiden Bereiche "Test" und "Sample" auszuwählen:
Application.Union(Range("Test"), Range("Sample")).Select
				
Beachten Sie, dass dieses Beispiel nur funktioniert, wenn sich beide Bereiche im selben Arbeitsblatt befinden. Beachten Sie außerdem, dass die Methode Union zum Auswählen der Vereinigungsmenge nicht über verschiedene Arbeitsblätter hinweg funktioniert. Die folgende Befehlszeile funktioniert z. B. einwandfrei:
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
				
Die folgende Befehlszeile funktioniert dagegen nicht:
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))
				
Bei dieser Zeile wird folgende Fehlermeldung angezeigt:
Die Union-Methode des Application-Objektes konnte nicht ausgeführt werden.

16: Auswählen der Schnittmenge von zwei oder mehr festgelegten Bereichen

Verwenden Sie folgendes Beispiel, um die Schnittmenge der beiden Bereiche "Test" und "Sample" auszuwählen:
Application.Intersect(Range("Test"), Range("Sample")).Select
				
Beachten Sie, dass dieses Beispiel nur funktioniert, wenn sich beide Bereiche im selben Arbeitsblatt befinden.



Die Beispiele 17 bis 21 in diesem Artikel beziehen sich auf folgenden Beispieldatensatz. In jedem Beispiel werden die jeweils ausgewählten Zellbereiche in den Beispieldaten genannt.
   A1: Name    B1: Sales    C1: Menge
   A2: a       B2: $10      C2: 5
   A3: b       B3:          C3: 10
   A4: c       B4: $10      C4: 5
   A5:         B5:          C5:
   A6: Total   B6: $20      C6: 20
				

17: Auswählen der letzten Zelle einer Spalte mit zusammenhängenden Daten

Verwenden Sie folgendes Beispiel, um die letzte Zelle in einer Spalte mit zusammenhängenden Daten auszuwählen:
ActiveSheet.Range("a1").End(xlDown).Select
				
Wenn dieser Code in der Beispieltabelle verwendet wird, wird die Zelle A4 ausgewählt.

18: Auswählen der leeren Zelle unter einer Spalte mit zusammenhängenden Daten

Verwenden Sie folgendes Beispiel, um die Zelle unter einem Bereich mit zusammenhängenden Daten auszuwählen:
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select
				
Wenn dieser Code in derselben Beispieltabelle verwendet wird, wird die Zelle A5 ausgewählt.

19: Auswählen eines gesamten Bereichs zusammenhängender Zellen in einer Spalte

Verwenden Sie folgendes Beispiel, um einen Bereich zusammenhängender Zellen in einer Spalte auszuwählen:
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select
				
   ODER
				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a1"). _
      End(xlDown).Address).Select
				
Wenn dieser Code mit der Beispieltabelle verwendet wird, werden die Zellen A1 bis A4 ausgewählt.

20: Auswählen eines gesamten Bereichs nicht zusammenhängender Zellen in einer Spalte

Verwenden Sie folgendes Beispiel, um einen Bereich nicht zusammenhängender Zellen auszuwählen:
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select
				
   ODER
				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536"). _
   End(xlUp).Address).Select
				
Wenn dieser Code mit der Beispieltabelle verwendet wird, werden die Zellen A1 bis A6 ausgewählt.

Verwenden Sie die Methode CurrentRegion, um einen rechteckigen Zellbereich um eine Zelle auszuwählen. Der mithilfe der Methode CurrentRegion ausgewählte Bereich wird durch eine beliebige Kombination leerer Zeilen und Spalten begrenzt. Das folgende Beispiel zeigt die Verwendung der Methode CurrentRegion:
ActiveSheet.Range("a1").CurrentRegion.Select
				
Mit diesem Code werden die Zellen A1 bis C4 ausgewählt. Sie können auch die nachfolgenden Beispiele verwenden, um denselben Zellbereich auszuwählen:
ActiveSheet.Range("a1", _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
				
   ODER
				
ActiveSheet.Range("a1:" & _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select
				
Nehmen wir an, Sie möchten die Zellen von A1 bis C6 auswählen. In diesem Beispiel funktioniert die CurrentRegion-Methode nicht, weil die Zeile 5 leer ist. Mithilfe der folgenden Beispiele werden alle Zellen ausgewählt:
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
				
    ODER
				
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1:" & _
   ActiveSheet.Cells(lastRow, lastCol).Address).Select
				

22. Auswählen mehrerer nicht zusammenhängender Spalten unterschiedlicher Länge

Verwenden Sie die folgende Beispieltabelle und das folgende Beispielmakro, um mehrere nicht zusammenhängende Spalten unterschiedlicher Länge auszuwählen:
   A1: 1          B1: 1          C1: 1  D1: 1
   A2: 2          B2: 2          C2: 2     D2: 2
   A3: 3          B3: 3          C3: 3  D3: 3
   A4:    B4: 4          C4: 4  D4: 4
   A5:    B5: 5          C5: 5  D5:
   A6:    B6:    C6: 6  D6:
				
StartRange = "A1"
EndRange = "C1"
Set a = Range(StartRange, Range(StartRange).End(xlDown))
Set b = Range(EndRange, Range(EndRange).End(xlDown))
Union(a,b).Select
				
Wenn dieser Code in Verbindung mit der Beispieltabelle verwendet wird, werden die Zellen A1 bis A3 und C1 bis C6 ausgewählt.

Hinweise zu den Beispielen

  • Die Eigenschaft ActiveSheet kann normalerweise weggelassen werden, da sie mit einbezogen wird, wenn kein bestimmtes Arbeitsblatt angegeben wurde. Anstelle von
    ActiveSheet.Range("D5").Select
    						
    können Sie beispielsweise folgende Zeile verwenden:
    Range("D5").Select
    						
  • Die Eigenschaft ActiveWorkbook kann ebenfalls normalerweise weggelassen werden. Sofern keine bestimmte Arbeitsmappe angegeben wurde, wird die aktive Arbeitsmappe verwendet.
  • Wenn Sie die Methode Application.Goto verwenden, um die Methode Cells zweimal innerhalb der Methode Range zu verwenden, wenn sich der ausgewählte Bereich in einem anderen Arbeitsblatt als dem aktiven Arbeitsblatt befindet, müssen Sie das Objekt Sheets jeweils einschließen. Beispiel:
    Application.Goto Sheets("Sheet1").Range( _
          Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _
          Sheets("Sheet1").Cells(4, 5)))
    					
  • Für jedes in Anführungszeichen gesetzte Element (beispielsweise der benannte Bereich "Test") können Sie auch eine Variable mit einer Textzeichenfolge als Wert verwenden. Anstelle von
    ActiveWorkbook.Sheets("Sheet1").Activate
    						
    können Sie beispielsweise folgende Zeile verwenden:
    ActiveWorkbook.Sheets(myVar).Activate
    						
    Hierbei hat "myVar" den Wert "Sheet1".

Informationsquellen


Weitere Informationen zum Verwenden des Beispielcodes in diesem Artikel finden Sie im folgenden Artikel der Microsoft Knowledge Base:
290140  (http://support.microsoft.com/kb/290140/de/ ) Ausführen des Beispielcodes aus Knowledge Base-Artikeln für Office XP-Programme

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office Excel 2003
  • Microsoft Office Excel 2007
  • Microsoft Excel 2010
Keywords: 
kbautomation kbmacro kbdtacode kbhowto kbprogramming KB291308
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store
Folgen Sie uns: