Elimina righe durante la stampa - Suggerimenti per Excel

Jean e Arnoldo hanno posto la domanda su Excel di questa settimana.

In Lotus 1-2-3, è possibile sopprimere la stampa di una riga facendo in modo che il primo carattere sia un carattere pipe (|). Questo era fresco perché si potrebbe avere una formula in colonna A che potrebbero essere utilizzati per sopprimere la stampa di righe da zero: @IF(E2=0,"|",""). Excel non sembra offrire questa funzionalità. Non voglio nascondere le righe, voglio solo sopprimere la loro stampa in Excel.

MrExcel può entrare in empatia con la tua situazione. Ho usato Lotus 1-2-3 per 8 anni prima che la mia azienda decidesse di utilizzare Excel come nuovo standard. Cambiare non è mai carino. Excel e Lotus sono simili, ma i Power Users di Lotus 1-2-3 tendono a incorrere nei problemi.

Diversi anni dopo la transizione, ora sento che Excel è migliore di Lotus. Tuttavia, sono profondamente consapevole del dolore richiesto durante il passaggio. È facile considerare le modifiche come un attacco personale ed essere arrabbiato con Microsoft. Ricordo di aver pensato ogni giorno, "PERCHÉ devo mettere un ', False' come argomento finale in tutti i miei @VLOOKUP, e perché il file della guida non viene fuori e me lo dice semplicemente?".

Se si dispone di macro registrate in Lotus 1-2-3, ricordare che è possibile utilizzare Consulting by per la conversione delle macro.

Ci sono alcune cose che Lotus 1-2-3 ha fatto facilmente che non sono disponibili in Excel. La bellissima semplicità di / File Combine Add intero in Lotus è stata sostituita con 8 passaggi in Excel.

La domanda di oggi con la pipe per sopprimere la stampa delle righe è un altro esempio in cui Excel non offre funzionalità simili. La macro LotusPrint di seguito simulerà questa funzione. È orribilmente inefficiente. La macro esamina ogni cella nell'intervallo attivo della colonna A. Quando trova una barra verticale, nasconde la riga. Quindi stampa il foglio di lavoro e torna a mostrare le righe che erano nascoste.

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

Articoli interessanti...