Jean og Arnoldo stilte ukens Excel-spørsmål.
I Lotus 1-2-3 kan du undertrykke utskriften av en rad ved å ha det første tegnet som et rørtegn (|). Dette var kul fordi man kan ha en formel i kolonne A som kan brukes til å undertrykke den trykkingen av linjer med null: @IF(E2=0,"|","")
. Excel ser ikke ut til å tilby denne funksjonen. Jeg vil ikke skjule radene, jeg vil bare undertrykke utskriften i Excel.
MrExcel kan empati med situasjonen din. Jeg brukte Lotus 1-2-3 i 8 år før selskapet mitt bestemte meg for Excel som den nye standarden. Bytte er aldri pent. Excel og Lotus er like, men kraftbrukere av Lotus 1-2-3 har en tendens til å løpe inn i problemene.
Flere år etter overgangen føler jeg nå at Excel er bedre enn Lotus. Imidlertid er jeg klar over smertene som kreves når du bytter. Det er lett å ta endringene som et personlig angrep og være sint på Microsoft. Jeg husker jeg tenkte daglig: "HVORFOR må jeg sette en" False "som det siste argumentet i alle @VLOOKUP-ene mine, og hvorfor kommer ikke hjelpefilen ut og bare fortell meg det?".
Hvis du har makroer som er registrert i Lotus 1-2-3, husk at du kan bruke Consulting by til makrokonvertering.
Det er noen ting som Lotus 1-2-3 lett gjorde som ikke er tilgjengelige i Excel. Den vakre enkelheten med / File Combine Add Entire i Lotus er erstattet med 8 trinn i Excel.
Dagens spørsmål med røret for å undertrykke utskrift av radene er et annet eksempel der Excel ikke har noen lignende funksjon. LotusPrint-makroen nedenfor vil simulere denne funksjonen. Det er fryktelig ineffektivt. Makroen undersøker hver celle i det aktive området for kolonne A. Når den finner et rør, skjuler det raden. Deretter skrives ut regnearket og går tilbake for å skjule radene som 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