Excel - Makro untuk menyalin baris dan lajur
Isu
Saya bekerja di Makro untuk menyalin dari satu buku kerja (helaian) dan tampal pada buku kerja lain (helaian)
Office 2007 dan Windows XP
Dalam buku kerja yang pertama, saya mempunyai semua data yang menurut reqs. disaring. Bagaimana untuk memberitahu dalam makro untuk menyalin rekod 'hasil'? Rekod keputusan ini sentiasa berubah.
Saya sedang merakam makro dengan langkah-langkah berikut:
- 1. buka output.xlsx (target workbook)
- 2. ctrl + A (untuk memilih semua data yang sudah ada) dan jelas (semua)
- 3. buku kerja sumber (input.xlsm) menyalin rekod hasil
- 4. tampal khas dalam buku kerja sasaran
- 5. Buku kerja Souce dan hentikan rakaman makro
Selebihnya makro berfungsi dengan baik, masalahnya adalah dengan cara menetapkan julat rekod hasil yang boleh dikatakan dinamik.
Di bawah adalah Makro, tetapi kod yang dijana secara auto:
Sub Macro1 ('' Macro '' Workbook.Open Filename: = _ "O: dataorderrefList-output.xltx" _, Editable: = Selection True.CurrentRegion.Select Selection.Clear Range ("A1" "ReferenceList.xlsm"). Aktifkan Selection.CurrentRegion.Select Selection.Copy Windows ("refList-output.xltx"). Aktifkan Pemilihan.PasteSpecial Paste: = xlPasteColumnWidths, Operasi: = xlNone, _ SkipBlanks: = False, Transpose: = False, Transpose: = False Selection.PasteSpecial Paste: = xlPasteValues, Operation: = xlNone, SkipBlanks _: = False, Transpose: = Range False ("False Selection.Paste Paste Paste" = xlPasteFormats, Pilih Application.CutCopyMode = Palsu ActiveWorkbook.Save Windows ("ReferenceList.xlsm"). Aktifkan Range ("Table_Query_from_MS_Access_Database [#Headers, [No Order]]").
Ia berfungsi dengan baik tetapi saya perlu membuat pemilihan berdasarkan rekod hasil dan pemformatan lain juga.
Penyelesaian
Telah mencuba cadangan saya. apabila anda MERELY memilih pemilihan data yang disaring termasuk sel-sel tersembunyi juga (tersembunyi kerana penapisan) sebaliknya anda mesti menggunakan "specialcells" harta sebagai mencadangkan saya. anda boleh mengubah suai asas itu.
Terdapat juga peruntukan TANPA mengaktifkan tingkap yang berbeza atau memilih julat berbeza.
Saya telah memberi alternatif untuk bahagian pastel khusus makro anda
"Worksheet" ("sheet1"). Julat ("A1") Paste Paste Paste: = xlPasteValues, Tempel: = xlPasteColumnWidths, Tampal ("sheet1"). : = xlPasteFormats _, Tempel: = xlPasteColumnWidths
Jika kedua-dua buku disimpan buku anda harus menggunakan "book4.xls" atau "book4.xlsm" "buku kerja ini bermakna modul buku kerja di mana makro diparkir boleh anda cuba mengubah suai makro.
Catatan
Terima kasih kepada venkat1926 untuk tip ini di forum.