Excel - makro rindu un kolonnu kopēšanai

Izdevums

Es strādāju pie makro, lai kopētu no vienas darbgrāmatas (lapas) un ielīmētu uz citu darbgrāmatu (lapu)

Office 2007 un Windows XP

Pirmajā darbgrāmatā man ir visi dati, kas atbilstoši reqs. tiek filtrēts. Kā pateikt makro, lai kopētu “rezultātu” ierakstus? Šie rezultātu ieraksti vienmēr mainās.

Ar šiem soļiem es ierakstu makro:

  • 1. atvērt izeju.xlsx (mērķa darbgrāmata)
  • 2. ctrl + A (lai atlasītu visus jau esošos datus) un notīrītu (visi)
  • 3. avota darbgrāmatas (input.xlsm) kopiju rezultātu ieraksti
  • 4. ielīmējiet īpašu mērķa darbgrāmatā
  • 5. Piesūciniet darbgrāmatu un pārtrauciet makro ierakstīšanu

Pārējā makro darbojas labi, problēma ir tā, kā noteikt rezultātu ierakstu diapazonu, ko var teikt, ir dinamisks.

Zemāk ir makro, bet tā automātiski ģenerētais kods:

 Sub Macro1 () 'Macro21 makro' 'darbgrāmatas. Atveriet faila nosaukumu: = _ "O: dataorderrefList-output.xltx" _, rediģējams: = īsta izvēle.CurrentRegion.Select Selection.Clear Range ("A1"). Aktivizēt atlasi.CurrentRegion.Select Selection.Copy Windows ("refList-output.xltx") Aktivizēt atlasi.PasteSpecial Paste: = xlPasteColumnWidths, Darbība: = xlNone, _ SkipBlanks: = False, Transponēt: = False Selection.PasteSpecial Paste: = xlPasteFormats, darbība: = xlNone, _ SkipBlanks: = False, transponēt: = False Selection.PasteSpecial Paste: = xlPasteValues, darbība: = xlNone, SkipBlanks _: = False, transponēt: = False Range (" Izvēlieties Application.CutCopyMode = False ActiveWorkbook.Save Windows ("ReferenceList.xlsm") Aktivizēt diapazonu ("Table_Query_from_MS_Access_Database [# Vadītāji, [Pasūtījuma Nr.]]". 

Tā darbojas labi, bet man ir jāizvēlas, pamatojoties uz rezultātu ierakstiem un citiem formatējumiem.

Risinājums

Esmu mēģinājis manu ieteikumu. ja jūs MERELY izvēlaties filtrētu datu atlasi, slēptās šūnas ir arī (slēptas filtrēšanas dēļ), bet jums ir jāizmanto īpašais šūnu īpašums, kā man ieteica. vai jūs varat veikt izmaiņas šajā sakarā.

Ir arī noteikums BEZ aktivizējot dažādus logus vai izvēloties dažādus diapazonus.

Man ir alternatīva jūsu makro pastespecial daļai

 ThisWorkbook.Worksheets ("sheet1") UsedRange.SpecialCells (xlCellTypeVisible). Kopēt darbgrāmatas ("book4"). Darblapas ("sheet1"). Range ("A1") PasteSpecial Paste: = xlPasteValues, Paste: = xlPasteColumnWidths, Paste : = xlPasteFormats _, Ielīmēt: = xlPasteColumnWidths 

Ja abas grāmatas tiek saglabātas, jāizmanto "book4.xls" vai "book4.xlsm" "šī darbgrāmata nozīmē darbgrāmatas moduli, kurā makro ir novietota, ja jūs varat mēģināt mainīt makro.

Piezīme

Pateicoties venkat1926 par šo padomu forumā.

Iepriekšējais Raksts Nākamais Raksts

Top Padomi