Wählen Sie in einem Excel-Makro eine ganze Spalte minus Kopfzeile aus


8

Wie würde ich auf einen Bereich zugreifen, der einer gesamten Spalte ab Zeile 2 entspricht (es gibt eine Kopfzeile)?

Das Ende der Auswahl sollte die letzte nicht leere Zelle in der Spalte sein.

Antworten:



2

Versuche dies:

Range(Range("A2"),Range("A2").End(xldown)).Select

oder dieses:

Range(Range(Cells(2, 1), Cells(2, 1)), Range(Cells(65535, 1), Cells(65535, 1)).End(xlUp)).Select

2

In Bezug auf diese SO-Antwort ist die einzig sichere Methode die .find()Methode.
Alle anderen Methoden können zu falschen Ergebnissen führen, wenn Sie zuvor einige Zellen gelöscht haben.

Beispiel, um die letzten Zellen zu erhalten

Lastrow =  Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Lastcol =  Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column

Und eine spezifische Antwort auf Ihre Frage (vorausgesetzt, Ihre Daten befinden sich in Spalte 2, beginnend in Zeile 2).

Range([B2], [B:B].Find("*", [B1], , , xlByRows, xlPrevious)).select

Geben Sie hier die Bildbeschreibung ein


1

Sie können die Excel-Tastaturkürzel verwenden. Versuchen Sie Ctrl+ Home.

Dies würde Sie zur Zelle A1 führen (wenn Sie das Einfrierfenster nicht verwendet haben). Kommen Sie eine Zelle nach unten und wählen Sie dann mit den Tasten Ctrl+ Shift+ Down arrowbis zur zuletzt eingegebenen Zeile.

Wenn Sie den Spaltenwert auswählen müssen, verwenden Sie die right arrowSchaltfläche anstelle der down arrowSchaltfläche.


0

Dieser Code mittelt alles außer dem Header mit dem Header in Zelle "B1".

Dim GG as Long
GG = Application.WorksheetFunction.Average(ActiveSheet.Range("B2", Range("B2").End(xlDown)))
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.