我的代碼有點麻煩。我試圖過濾M列中的值,然後將M中的一個值設置爲變量deptName。這適用於除一個之外的每個迭代,而不是將deptName設置爲M中的值,而是將其設置爲等於A1中的值。它只是爲迭代中的一個做到這一點,我不知道爲什麼。Excel vba過濾數據並將過濾列表中的值設置爲變量
For criteria = 1 To UBound(degreeArray)
degreeWS.range(fields).AutoFilter Field:=degreeColumn, Criteria1:=degreeArray(criteria)
degreeWS.range("A2:A" & lrd).EntireRow.Copy
Dim deptName As Variant
range("M2", Cells(Rows.count, "M").End(xlUp)).SpecialCells(xlCellTypeVisible).Cells(1, 1).Select
deptName = Selection
下面是數據的一個例子
A B C D E F G H I J K L M
ID FName LName Degree Major Col Dept1 Dept1Name Major2 Col Dept2 Dept2Name
100 Jack Smith MBA MAJOR1 UK BIO BIOLOGY MAJOR2 UK CHEM CHEMISTRY
101 Sally Johnson BS MAJOR1 UK EDU EDUCATION MAJOR2 UK BIO BIOLOGY
102 Bryan Carter BSB MAJOR1 UK CHEM CHEMISTRY MAJOR2 UK EDU EDUCATION
104 Mason Harper BS MAJOR1 UK BIO BIOLOGY MAJOR2 UK EDU EDUCATION
104 Harry Potter MBA MAJOR1 UK CHEM CHEMISTRY MAJOR2 UK BIO BIOLOGY
避免使用選擇不惜一切代價.... – Lowpar
什麼可能我改用選擇@Lowpar – Cocoberry2526
的@ Cocoberry2526使用類似:'DEPTNAME =範圍( 「M2」,細胞(Rows.count,「M 「).End(xlUp))。SpecialCells(xlCellTypeVisible).Cells(1,1).value' – scb998