Excel - En makro til at kopiere rækker og kolonner

Problem

Jeg arbejder på en makro at kopiere fra en arbejdsbog (ark) og indsætte i en anden arbejdsbog (ark)

Office 2007 og Windows XP

I den første arbejdsbog har jeg alle de data, som ifølge reqs. filtreres. Hvordan fortæller du i makro at kopiere 'resultat'-optegnelserne? Disse resultatregistre ændres altid.

Jeg optager makro med disse trin:

  • 1. Åbn output.xlsx (mål arbejdsbog)
  • 2. ctrl + A (for at vælge alle data der allerede) og slette (alle)
  • 3. kilde arbejdsbog (input.xlsm) kopiere resultat records
  • 4. indsæt specielt i målmappen
  • 5. Souce arbejdsbog og stop optagelse makro

Resten af ​​makroen fungerer fint, problemet er med, hvordan du angiver rækkevidden af ​​resultatregistre, som du kan sige, er dynamisk.

Nedenfor er makroen, men dens automatisk genererede kode:

 Sub Macro1 () '' Macro21 Macro '' Workbooks.Open Filnavn: = _ "O: dataorderrefList-output.xltx" _, Redigerbar: = True Selection.CurrentRegion.Select Selection.Clear Range ("A1"). Vælg Windows ( "ReferenceList.xlsm"). Aktiver Selection.CurrentRegion.Select Selection.Copy Windows ("refList-output.xltx"). Aktiver Selection.PasteSpecial Paste: = xlPasteColumnWidths, Operation: = xlNone, _ SkipBlanks: = False, Transpose: = False Selection.PasteSpecial Paste: = xlPasteFormats, Operation: = xlNone, _ SkipBlanks: = False, Transpose: = False Selection.PasteSpecial Paste: = xlPasteValues, Operation: = xlNone, SkipBlanks _: = False, Transpose: = False Range A1 "). Vælg Application.CutCopyMode = False ActiveWorkbook.Save Windows (" ReferenceList.xlsm "). Aktiver rækkevidde (" Table_Query_from_MS_Access_Database [#Headers, [Order No]] ". Vælg End Sub 

Det virker fint, men jeg er nødt til at foretage valg baseret på resultatoptegnelser og anden formatering.

Opløsning

Har prøvet mit forslag. når du vælger et filtreret dataudvalg, omfatter de skjulte celler også (skjult på grund af filtrering) i stedet skal du bruge "specialcells" -egenskab som foreslået min mig. kan du ændre på det grundlag.

Der er også en bestemmelse uden at aktivere de forskellige vinduer eller vælge forskellige områder.

Jeg har mulighed for at give mulighed for en særlig del af din makro

 ThisWorkbook.Worksheets ("sheet1"). UsedRange.SpecialCells (xlCellTypeVisible) .Copy Workbooks ("book4"). Arbejdsark ("ark1"). Område ("A1"). PasteSpecial Paste: = xlPasteValues, Paste: = xlPasteColumnWidths, Paste : = xlPasteFormats _, Paste: = xlPasteColumnWidths 

Hvis de to bøger er gemte bøger, skal du bruge "book4.xls" eller "book4.xlsm" "denne projektmappe betyder arbejdsbogens modul, hvor makroen er parkeret, kan du prøve at ændre makroen.

Bemærk

Tak til venkat1926 for dette tip på forummet.

Forrige Artikel Næste Artikel

Top Tips