„Excel“ makro dinaminis stulpelių pasirinkimas
- Problema
- Sprendimas
- Pastaba
Problema
Aš tik pradėjau išmokti „Excel“ makrokomandas. Dirbau lape, kuriame turiu dinamiškai pasirinkti stulpelį, remiantis tik stulpelio antraštės pavadinimu. Leisk man paaiškinti.
Pasakykite, kad yra „Excel“ lapas, kuriame yra šie stulpeliai (nuo A1 iki D1):
RecNo Cust_ID Cust_Name Contact_Num
Žemiau pateikiami kliento duomenys. Dabar noriu išskirti tik Cust_ID (iš B stulpelio) ir Cust_Name (iš C stulpelio) visiems įrašams.
Tačiau problema yra ta, kad nebūtina, kad Cust_ID visada būtų B stulpelyje. Nors antraštė visada bus Cust_ID, jos vieta gali būti pakeista į C stulpelį, kuris buvo sukurtas, o Cust_Name galėjo būti B skiltis (du stulpeliai, kuriuos reikia išgauti) buvo pakeisti.
Naudodamas atitikties funkciją galiu nustatyti stulpelio padėtį, bet po to negaliu pasirinkti to stulpelio.
Toliau pateikiama funkcija, kurią naudoju stulpelio numeriui nustatyti:
WorksheetFunction.Match („Cust_ID“, diapazonas („A1: D1“), 0)
Sprendimas
Tiesiog naudokite šiuos:
„Duomenų lapo nustatymas. D lngLastLowRow As Long Dim lngLastCol As Long Dim varDataSelect As Variant „Pasirinkite eilutes ir stulpelius dinamiškai. Pasirinkti.End (xlDown) .Pasirinkite lngLastRowNum = ActiveCell.Row Selection.End (xlToRight) .Pasirinkite lngLastCol = ActiveCell.Column 'Darbalapio pavadinimas „MonthlyReceivedClaims_Data“ prasideda 1 eilutės 1 stulpelyje ir baigiasi „: R“ & lngLastRowNum & „C“ & lngLastCol varDataSelect = "MonthlyReceivedClaims_Data! R1C1: R" & lngLastRowNum & "C" & lngLastCol ActiveWorkbook.PivotCaches.Add (SourceType: = xlDatabase, SourceData: = _ varDataSelect). = "PivotTable1", DefaultVersion: = _ xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination: = ActiveSheet.Cells (3, 1)
„Taip pat padeda naudoti įrašų makro funkciją įrankiuose.
„Spustelėkite įrašą. Padarykite tokią ataskaitą ar sukimo lentelę kaip norite.
Tada spustelėkite Stabdyti įrašą ir redaguoti kodą, jei reikia.
Pastaba
Ačiū AM už šį patarimą forume.