Undertryk rækker under udskrivning - Excel-tip

Indholdsfortegnelse

Jean og Arnoldo stillede denne uges Excel-spørgsmål.

I Lotus 1-2-3 kunne du undertrykke udskrivningen af ​​en række ved at have det første tegn et rørtegn (|). Dette var cool, fordi du kunne have en formel i kolonne A, som kunne anvendes til at undertrykke skal linjer med nul: @IF(E2=0,"|",""). Excel ser ikke ud til at tilbyde denne funktion. Jeg vil ikke skjule rækkerne, jeg vil bare undertrykke deres udskrivning i Excel.

MrExcel kan empati med din situation. Jeg brugte Lotus 1-2-3 i 8 år, før mit firma besluttede sig for Excel som den nye standard. Det er aldrig smukt at skifte. Excel og Lotus er ens, men Power-brugere af Lotus 1-2-3 har tendens til at løbe ind i problemerne.

Flere år efter overgangen føler jeg nu, at Excel er bedre end Lotus. Jeg er dog opmærksom på den smerte, der kræves, når jeg skifter. Det er let at tage ændringerne som et personligt angreb og være vred på Microsoft. Jeg husker, at jeg dagligt tænkte: "HVORFOR skal jeg sætte en" falsk "som det sidste argument i alle mine @VLOOKUP'er, og hvorfor kommer ikke hjælpefilen ud og bare fortæl mig det?".

Hvis du har makroer, der er optaget i Lotus 1-2-3, skal du huske, at du kan bruge Consulting by til makrokonvertering.

Der er nogle ting, som Lotus 1-2-3 let gjorde, som ikke er tilgængelige i Excel. Den smukke enkelhed i / File Combine Add Entire i Lotus erstattes med 8 trin i Excel.

Dagens spørgsmål med røret til at undertrykke udskrivning af rækkerne er et andet eksempel, hvor Excel ikke har nogen lignende funktion. LotusPrint-makroen nedenfor simulerer denne funktion. Det er forfærdeligt ineffektivt. Makroen undersøger hver celle i det aktive område i kolonne A. Når den finder et rør, skjuler den rækken. Derefter udskriver regnearket og går tilbage for at skjule de rækker, der var skjult.

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

Interessante artikler...