2017-03-03 3 views
0

ich eine Anforderung haben, wo ich brauche nur die Header-Namen mit mehreren Spalten auswählen und dies ist mein Code für das,Auswählen mehrerer Spalten unter Verwendung von Header-Namen - Excel VBA

colmz = WorksheetFunction.Match("Sheet1", Sheets("Age").Rows(1), 0) 
Nrowz = ActiveSheet.Cells(Rows.Count, colmz).End(xlUp).Row 
Sheets("sheet1").Range(Cells(1, colmz), Cells(Nrowz, colmz)).Select 

colm = WorksheetFunction.Match("Sheet1", Sheets("Gender").Rows(1), 0) 
Sheets("sheet1").Range(Cells(1, colm), Cells(Nrowz, colm)).Select 

Ich konnte sie einzeln auswählen aber nicht zusammen. Wie verwende ich sie innerhalb der Bereichsfunktion und wähle beide Spalten zusammen aus. Bitte geben Sie mir Ihre Vorschläge. Danke im Voraus.

+0

Sie können nur eins nach dem anderen so, wenn Sie 2 verwenden „wählen“, die erste wird nutzlos geworden – Seb

Antwort

1

Sie die UNION der beiden Bereiche auswählen möchten. Aus Gründen der Übersichtlichkeit habe ich Bereiche für die beiden Bereiche .select erstellt. Mit dieser Methode können Sie das zu verwendende Blatt angeben.

Dim age_range, gender_range As Range 

colmz = WorksheetFunction.Match("Sheet1", Sheets("Age").Rows(1), 0) 
Nrowz = ActiveSheet.Cells(Rows.Count, colmz).End(xlUp).Row 
colm = WorksheetFunction.Match("Sheet1", Sheets("Gender").Rows(1), 0) 

Set age_range = Sheets("sheet1").Range(Cells(1, colmz), Cells(Nrowz, colmz)) 
Set gender_range = Sheets("sheet1").Range(Cells(1, colm), Cells(Nrowz, colm)) 

Sheets("sheet1").Range(Union(age_range, gender_range).Address).Select 
+0

Danke Sir gehen! Ich werde deine Antwort akzeptieren – Sid29

0

habe ich versucht, die Funktion Union und es funktionierte für mich

Union(Range(Cells(1, colmz), Cells(Nrowz, colmz)), Range(Cells(1, colm), Cells(Nrowz, colm))).Select 

lassen Sie mich freundlich wissen, wenn es eine bessere Praxis als diese

ist
+0

gut es hängt von verschiedenen Dingen: Sind Sie dies nur einmal tun, oder Sie werden diesen Code mehrere Male wiederholen ? Wenn ja, werden die Spalten, die Sie auswählen möchten, immer von diesen 2 Header-Namen aufgerufen oder nicht? – Seb

+0

@Seb Ich muss es nicht immer wieder verwenden. Ich muss sie nur einmal benutzen. aber immer noch, ich denke ich werde immer noch mit der Antwort von CLR – Sid29

Verwandte Themen