Suzbijanje redova tijekom ispisa - Excel savjeti

Jean i Arnoldo postavili su ovotjedno Excel pitanje.

U Lotusu 1-2-3 ispis redaka možete zaustaviti tako da prvi znak bude znak cijevi (|). To je bilo cool, jer bi mogao imati formulu u stupcu A koja bi se mogla koristiti za suzbijanje tiskanje linija s nulom: @IF(E2=0,"|",""). Čini se da Excel ne nudi ovu značajku. Ne želim sakriti retke, samo želim suzbiti njihovo ispisivanje u Excelu.

MrExcel može suosjećati s vašom situacijom. Lotus 1-2-3 koristio sam 8 godina prije nego što se moja tvrtka odlučila za Excel kao novi standard. Prebacivanje nikad nije lijepo. Excel i Lotus su slični, ali napredni korisnici Lotusa 1-2-3 često nailaze na probleme.

Nekoliko godina nakon tranzicije, sada osjećam da je Excel bolji od Lotusa. Međutim, itekako sam svjestan boli potrebne kod prebacivanja. Lako je promjene shvatiti kao osobni napad i ljutiti se na Microsoft. Sjećam se da sam svakodnevno razmišljao: "ZAŠTO moram staviti 'False' kao završni argument u sve svoje @VLOOKUP-ove i zašto datoteka s pomoći ne izađe i jednostavno mi to kaže?".

Ako imate makronaredbe koje su zabilježene u Lotusu 1-2-3, sjetite se da možete koristiti Consulting by za pretvorbu makronaredbi.

Postoje neke stvari koje je Lotus 1-2-3 učinio lako, a koje nisu dostupne u programu Excel. Prekrasna jednostavnost / File Combine Add Entire u Lotusu zamijenjena je s 8 koraka u programu Excel.

Današnje pitanje s cijevi za suzbijanje ispisa redaka još je jedan primjer gdje Excel ne nudi slične značajke. Makronaredba LotusPrint u nastavku simulirat će ovu značajku. Užasno je neučinkovit. Makronaredba ispituje svaku ćeliju u aktivnom rasponu stupca A. Kad pronađe cijev, sakriva redak. Zatim ispisuje radni list i vraća se natrag kako bi otkrio skrivene retke.

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

Zanimljivi članci...