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.

Prethodni Članak Sljedeći Članak

Top Savjeta