Undertrycka rader under utskrift - Excel-tips

Innehållsförteckning

Jean och Arnoldo ställde veckans Excel-fråga.

I Lotus 1-2-3 kan du undertrycka utskriften av en rad genom att det första tecknet är ett rörtecken (|). Detta var coolt eftersom du kan ha en formel i kolumn A som kan användas för att undertrycka utskrift av rader med noll: @IF(E2=0,"|",""). Excel verkar inte erbjuda den här funktionen. Jag vill inte dölja raderna, jag vill bara undertrycka utskriften i Excel.

MrExcel kan ha medkänsla med din situation. Jag använde Lotus 1-2-3 i åtta år innan mitt företag bestämde sig för Excel som den nya standarden. Att byta är aldrig vackert. Excel och Lotus är lika, men kraftanvändarna av Lotus 1-2-3 tenderar att stöta på problemen.

Flera år efter övergången känner jag nu att Excel är bättre än Lotus. Men jag är mycket medveten om smärtan som krävs vid byte. Det är lätt att ta ändringarna som en personlig attack och vara arg på Microsoft. Jag kommer ihåg att jag tänkte dagligen, "VARFÖR måste jag lägga en", Falsk "som det sista argumentet i alla mina @ VLOOKUPs, och varför kommer inte hjälpfilen ut och berätta bara för mig det?".

Om du har makron som spelades in i Lotus 1-2-3, kom ihåg att du kan använda Consulting by för makrokonvertering.

Det finns några saker som Lotus 1-2-3 enkelt gjorde som inte finns i Excel. Den vackra enkelheten med / File Combine Lägg till hela i Lotus ersätts med 8 steg i Excel.

Dagens fråga med röret för att undertrycka utskrift av raderna är ett annat exempel där Excel inte har någon liknande funktion. LotusPrint-makrot nedan kommer att simulera den här funktionen. Det är fruktansvärt ineffektivt. Makrot undersöker varje cell i det aktiva intervallet i kolumn A. När det hittar ett rör döljer det raden. Det skriver sedan ut kalkylbladet och går tillbaka för att visa raderna som var dolda.

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

Intressanta artiklar...