Excel - makronaredba za kopiranje redaka i stupaca
Problem
Radim na makrou za kopiranje iz jedne radne knjige (lista) i lijepljenje u drugu radnu knjigu (list)
Office 2007 i Windows XP
U prvoj radnoj knjizi imam sve podatke koji su prema reqs. se filtrira. Kako reći u makrou za kopiranje 'rezultata' zapisa? Ovi zapisi rezultata se uvijek mijenjaju.
Snimam makronaredbu ovim koracima:
- 1. otvoreni output.xlsx (ciljna radna knjiga)
- 2. ctrl + A (za odabir svih podataka koji već postoje) i brisanje (sve)
- 3. izvorna radna knjiga (input.xlsm) kopirati zapis rezultata
- 4. posebno zalijepite u ciljnu radnu knjigu
- 5. Umotajte radnu knjigu i zaustavite snimanje makronaredbe
Ostatak makronaredbe radi dobro, problem je u tome kako postaviti raspon zapisa rezultata koji možete reći je dinamičan.
U nastavku se nalazi makro, ali njegov automatski generirani kôd:
Pod Macro1 () "Macro21 Makro" Radne knjige.Otvorite Naziv datoteke: = _ "O: dataorderrefList-output.xltx" _, Uređivati: = True Selection.CurrentRegion.Select Selection.Clear Range ("A1"). Odaberite Windows ( Activate Selection.CurrentRegion.Select Selection.Copy Windows ("refList-output.xltx") Aktivirajte Selection.PasteSpecial Paste: = xlPasteColumnWidths, Operation: = xlNone, _ SkipBlanks: = False, Transpose: = False, Transpose: = False Selection.PasteSpecial Paste: = xlPasteFormats, Operation: = xlNone, _ SkipBlanks: = False, Transpose: = False Selection.PasteSpecial Paste: = xlPasteValues, Operacija: = xlNone, SkipBlanks _: = False, Transpose: = False Range ( Odaberite Application.CutCopyMode = False ActiveWorkbook.Save Windows ("ReferenceList.xlsm") Aktivirajte raspon ("Table_Query_from_MS_Access_Database [#Headers, [Order No]]").
To je u redu, ali moram napraviti izbor na temelju rezultata zapisa i drugih oblikovanja kao dobro.
Riješenje
Probali su moj prijedlog. kada MERELY odaberete filtrirani odabir podataka uključuje i skrivene ćelije (skrivene zbog filtriranja), umjesto toga morate koristiti svojstvo "specialcells" kao što sam predložio. možete izmijeniti na toj osnovi.
Tu je i odredba BEZ aktiviranja različitih prozora ili odabira različitih raspona.
Imam alternativu za pastespecial dio vašeg makroa
KoristiRange.SpecialCells (xlCellTypeVisible) .Kopiranje radnih knjiga ("book4"). Radni listovi ("sheet1"). Domet ("A1"). PasteSpecial Paste: = xlPasteValues, Paste: = xlPasteColumnWidths, Paste : = xlPasteFormats _, Zalijepi: = xlPasteColumnWidths
Ako su dvije knjige spremljene knjige, trebate koristiti "book4.xls" ili "book4.xlsm" "" ova radna knjiga znači modul radne knjige u kojem je makronaredba parkirana možete li pokušati izmijeniti makronaredbu.
Bilješka
Zahvaljujući venkat1926 za ovaj savjet na forumu.