2017-07-28 4 views
-1

Ich versuche ein Makro aufzuzeichnen, um Verwendungsberichte zu automatisieren. Die Berichte haben nicht alle die gleiche Anzahl von Zeilen oder Spalten.Auswählen von Daten innerhalb eines aufgezeichneten Makros

Was ich tun möchte, ist alle Spalten und Zeilen mit Daten zu wählen. Bei der Aufnahme, wenn ich auf Ctrl +Umschalt +unten + Recht es wird die Daten auf diesem Bericht auszuwählen. Wenn ich es jedoch auf einem Datensatz mit mehr Zeilen oder Spalten ausführe, wird es nicht in die Auswahl aufgenommen.

Gibt es eine Möglichkeit, aus einer Startzelle bis zum Ende der Zeilen oder Spalten der verfügbaren Daten zu wählen?

+1

Zeichnen Sie Ihre Ctl + Shift + Down + Right mit ** Relative Referenzen verwenden **. Auch Strg + A gibt Ihnen die CurrentRegion der aktiven Zelle. – Jeeped

Antwort

0

Wenn Sie die relative Referenz verwenden, erhalten Sie auf jeden Fall die richtige Codierung. Oder Sie können einfach diesen Code Range("A1").CurrentRegion.Select an die entsprechende Stelle im Makro (wo Sie die oberste Zelle links an der Stelle der "A1") setzen.

Wenn Sie weitergehende Arbeiten ausführen möchten, können Sie die aktuelle Region als Variable speichern und andere Eigenschaften verwenden, um andere Aufgaben als nur die Auswahl des Bereichs auszuführen.

Zum Beispiel:

sub test() 
dim rng as range 
dim rw as integer 
dim col as integer 

set rng = Range("A1").CurrentRegion 'choose the top leftmost cell in the range 
rw = rng.rows.count 'counts the number of rows in the selection 
col = rng.columns.count 'counts the number of columns 
rng.select 'selects the range in an efficient manner 
rng.columns(2).select 'selects the second column in the range 
rng.rows(2).select 'selects the second row in the range 
rng.cells(1,2).select 'selects the cell on the first row and second column in the range 

end sub 

Hoffentlich ist das hilfreich. Ich wollte nur noch einige weitere Dinge aufzeigen, die Sie tun können, um mit den Bereichen zu arbeiten, die Sie haben.

Verwandte Themen