Excel Macro - selecție dinamică a coloanei

  • Problema
  • Soluţie
  • Notă

Problema

Încep doar să aflu macrocomenzi Excel. Lucram pe o foaie în care trebuie să aleg o coloană dinamic, bazată doar pe numele antetului coloanei. Lasă-mă să explic.

Spuneți că există o fișă Excel care conține următoarele coloane (de la A1 la D1):

 RecNo Cust_ID Cust_Name Contact_Num 

Sub acestea există date despre clienți care sunt prezente. Acum, vreau să extrag doar datele Cust_ID (din coloana B) și Cust_Name (din coloana C) pentru toate înregistrările.

Cu toate acestea, problema este că nu este necesar ca Cust_ID să fie mereu în coloana B. Deși titlul ar fi întotdeauna Cust_ID, locația sa s-ar putea schimba în coloana C într-o altă foaie care a fost generată, iar Cust_Name ar putea fi prezentă în Coloana B (cele două coloane care trebuie extrase au fost schimbate).

Folosind funcția de potrivire, pot determina poziția coloanei, dar după aceea nu pot selecta respectiva coloană.

Funcția pe care am folosit-o pentru a determina numărul coloanei este dată mai jos:

 WorksheetFunction.Match ("Cust_ID", domeniul ("A1: D1"), 0) 

Soluţie

Doar utilizați aceste:

 "Determinarea gamei de foi de date. Dim LungLastRow ca lungime DimLastCol ca lung DimDarVideSelect ca variantă 'Selectați rândurile și coloanele variază dinamic. Selectați lngLastRowNum = ActiveCell.Row Selection.End (xlToRight) .Selectați lngLastCol = ActiveCell.Column 'Numele foii de lucru "MonthlyReceivedClaimsData" începe de la rândul 1 Coloana 1' și se termină la ": R" & lngLastRowNum & "C" & lngLastCol varDataSelect = "LunarReceivedClaims_Data! R1C1: R" & lngLastRowNum & "C" & lngLastCol ActiveWorkbook.PivotCaches.Add (SourceType: = xLDatabase, SourceData: = _ varDataSelect) .CreatePivotTable _TableDestination: = "PivotTable1", DefaultVersion: = _xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination: = ActiveSheet.Cells (3, 1) 

"De asemenea, vă ajută să utilizați funcția macro de înregistrare sub Instrumente.

Faceți clic pe înregistrare. Faceți raportul sau tabelul pivot așa cum doriți.

Apoi, faceți clic pe opriți înregistrarea și modificați codul după cum este necesar.

Notă

Mulțumită AM pentru acest sfat pe forum.

Articolul Precedent Articolul Următor

Cele Mai Importante Sfaturi