Menindas Baris Semasa Mencetak - Petua Excel

Jean dan Arnoldo mengemukakan soalan Excel minggu ini.

Dalam Lotus 1-2-3, anda boleh menekan pencetakan baris dengan watak pertama menjadi watak paip (|). Ini adalah sejuk kerana anda boleh mempunyai formula dalam lajur A yang boleh digunakan untuk menyekat mencetak baris dengan sifar: @IF(E2=0,"|",""). Excel nampaknya tidak menawarkan ciri ini. Saya tidak mahu menyembunyikan baris, saya hanya mahu menekan percetakan mereka di Excel.

MrExcel dapat berempati dengan keadaan anda. Saya menggunakan Lotus 1-2-3 selama 8 tahun sebelum syarikat saya memutuskan Excel sebagai standard baru. Beralih tidak pernah cantik. Excel dan Lotus serupa, tetapi Pengguna Kuasa Lotus 1-2-3 cenderung menghadapi masalah.

Beberapa tahun selepas peralihan, saya sekarang merasakan Excel lebih baik daripada Lotus. Walau bagaimanapun, saya menyedari kesakitan yang diperlukan semasa menukar. Sangat mudah untuk mengambil perubahan sebagai serangan peribadi dan marah kepada Microsoft. Saya ingat berfikir setiap hari, "MENGAPA saya harus meletakkan ', Salah' sebagai hujah terakhir dalam semua @VLOOKUP saya, dan mengapa fail bantuan tidak keluar dan hanya memberitahu saya perkara itu?".

Sekiranya anda mempunyai makro yang tercatat di Lotus 1-2-3, ingatlah bahawa anda boleh menggunakan Consulting oleh untuk penukaran makro.

Terdapat beberapa perkara yang mudah dilakukan Lotus 1-2-3 yang tidak terdapat di Excel. Kesederhanaan cantik / Fail Gabungan Tambah Seluruh di Lotus diganti dengan 8 langkah di Excel.

Soalan hari ini dengan cara untuk menekan pencetakan baris adalah contoh lain di mana Excel tidak menawarkan ciri serupa. Makro LotusPrint di bawah akan mensimulasikan ciri ini. Ia sangat tidak cekap. Makro memeriksa setiap sel dalam julat aktif lajur A. Apabila ia menemui paip, ia menyembunyikan baris. Ia kemudian mencetak lembaran kerja dan kembali untuk menunjukkan baris yang disembunyikan.

Option Base 1 Sub LotusPrint() ' ' LotusPrint Macro ' This Macro will temporarily hide rows that start with |, ' print the sheet, then unhide those rows. It is meant to ' emulate the Lotus 1-2-3 feature of not printing rows that ' start with a pipe. ' Copyright 1999 www.MrExcel.com ' ' Dim UnhideRow() As Single Application.ScreenUpdating = False ' Locate the final row in column A FinalRow = Range("A65536").End(xlUp).Row Ctr = 0 ' Check and hide each row that starts with a pipe For x = 1 To FinalRow If Left(Range("A" & x).Value, 1) = "|" Then ' Do nothing if the row is already hidden If Not Range("A" & x).EntireRow.Hidden Then Range("A" & x).EntireRow.Hidden = True ' Save the row number so that it can be unhidden Ctr = Ctr + 1 ReDim Preserve UnhideRow(Ctr) UnhideRow(Ctr) = x End If End If Next x ' Print the sheet ActiveWindow.SelectedSheets.PrintOut ' Unhide any hidden rows If Ctr> 0 Then For x = 1 To Ctr Range("A" & UnhideRow(x)).EntireRow.Hidden = False Next x End If Application.ScreenUpdating = True End Sub

Artikel menarik...