Excelov makro - dinamični izbor stolpcev

  • Težava
  • Rešitev
  • Opomba

Težava

Pravkar začenjam učiti makre v programu Excel. Delal sem na listu, kjer moram dinamično izbrati stolpec, ki temelji na imenu stolpca. Naj razložim.

Recimo, da je Excelov list, ki vsebuje naslednje stolpce (od A1 do D1):

 Prekliči Cust_ID Cust_Name Contact_Num 

Pod temi podatki so podatki o strankah. Zdaj pa želim izvleči samo Cust_ID (iz stolpca B) in Cust_Name (iz stolpca C) za vse zapise.

Težava pa je v tem, da ni nujno, da je Cust_ID vedno v stolpcu B. Čeprav je naslov vedno Cust_ID, se lahko njegova lokacija spremeni v stolpec C v drugem listu, ki je bil ustvarjen, in ime Cust_Name bi lahko bilo prisotno v Stolpec B (dva stolpca, ki jih je treba izvleči, sta zamenjana).

Z uporabo funkcije ujemanja lahko določim položaj stolpca, vendar po tem ne morem izbrati tega stolpca.

Funkcija, ki sem jo uporabil za določitev številke stolpca, je navedena spodaj:

 WorksheetFunction.Match ("Cust_ID", območje ("A1: D1"), 0) 

Rešitev

Uporabite le naslednje:

 'Določanje obsega podatkovnega lista. Dim lngLastRow as Long Dim lngLastCol as Long Dim varDataSelect as Variant 'Izberite vrstice in stolpce dinamično. Selection.End (xlDown) .Select lngLastRowNum = ActiveCell.Row Selection.End (xlToRight) .Izberite lngLastCol = ActiveCell.Column 'Ime delovnega lista "MonthlyReceivedClaims_Data" se začne pri vrstici 1 Stolpec 1 "in konča pri": R " "C" & lngLastCol varDataSelect = "MonthlyReceivedClaims_Data! R1C1: R" & lngLastRowNum & "C" & lngLastCol ActiveWorkbook. = "PivotTable1", DefaultVersion: = _ xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination: = ActiveSheet.Cells (3, 1) 

'Pomaga tudi uporabiti funkcijo makro zapisa v meniju Orodja.

Kliknite na zapis. Naredite poročilo ali vrtilno tabelo, kot jo želite.

Nato kliknite »Ustavi zapis« in po potrebi uredite kodo.

Opomba

Zahvaljujem se AM za ta nasvet na forumu.

Prejšnji Članek Naslednji Članek

Top Nasveti