Rijen onderdrukken tijdens het afdrukken - Excel-tips

Jean en Arnoldo stelden de Excel-vraag van deze week.

In Lotus 1-2-3 kunt u het afdrukken van een rij onderdrukken door het eerste teken een pipe-teken (|) te laten zijn. Dit was cool, want u een formule in kolom A die kunnen worden gebruikt om het afdrukken van de lijnen te onderdrukken met nul zou kunnen hebben: @IF(E2=0,"|",""). Excel lijkt deze functie niet te bieden. Ik wil de rijen niet verbergen, ik wil alleen het afdrukken ervan in Excel onderdrukken.

MrExcel kan zich inleven in uw situatie. Ik heb Lotus 1-2-3 8 jaar gebruikt voordat mijn bedrijf Excel als de nieuwe standaard koos. Overstappen is nooit mooi. Excel en Lotus lijken op elkaar, maar de hoofdgebruikers van Lotus 1-2-3 lopen vaak tegen de problemen aan.

Enkele jaren na de overgang voel ik nu dat Excel beter is dan Lotus. Ik ben me echter terdege bewust van de pijn die nodig is bij het overschakelen. Het is gemakkelijk om de wijzigingen als een persoonlijke aanval te beschouwen en boos te zijn op Microsoft. Ik herinner me dat ik dagelijks dacht: "WAAROM moet ik een ', False' als het laatste argument in al mijn @VLOOKUPs plaatsen, en waarom komt het helpbestand niet tevoorschijn en vertel ik me dat gewoon?".

Als u macro's heeft die zijn opgenomen in Lotus 1-2-3, vergeet dan niet dat u Consulting by kunt gebruiken voor macroconversie.

Er zijn enkele dingen die Lotus 1-2-3 gemakkelijk deed, die niet beschikbaar zijn in Excel. De mooie eenvoud van / Bestand Combineer Geheel Toevoegen in Lotus is vervangen door 8 stappen in Excel.

De vraag van vandaag met de pijp om het afdrukken van rijen te onderdrukken is een ander voorbeeld waar Excel geen vergelijkbare functie biedt. De onderstaande LotusPrint-macro simuleert deze functie. Het is vreselijk inefficiënt. De macro onderzoekt elke cel in het actieve bereik van kolom A. Wanneer het een pijp vindt, verbergt het de rij. Het drukt vervolgens het werkblad af en gaat terug om de verborgen rijen zichtbaar te maken.

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 artikelen...