使用标题名称选择多个列 - Excel VBA

时间:2017-03-03 14:25:55

标签: excel vba 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

我能够单独选择它们但不能一起选择它们。如何在范围函数中使用它们并同时选择两个列。请给我你的建议。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您想要选择两个范围的UNION。为清楚起见,我已将两个区域的范围创建为.select。使用此方法可以指定要使用的工作表。

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

答案 1 :(得分:0)

我尝试了联盟功能,它确实适用于我

Union(Range(Cells(1, colmz), Cells(Nrowz, colmz)), Range(Cells(1, colm), Cells(Nrowz, colm))).Select
请告诉我,如果有比这更好的做法