Pomijaj wiersze podczas drukowania - porady dotyczące programu Excel

Jean i Arnoldo zadali w tym tygodniu pytanie dotyczące programu Excel.

W Lotus 1-2-3 można było pominąć drukowanie wiersza, ustawiając pierwszy znak pionową kreską (|). To było fajne, bo można mieć formułę w kolumnie A, które mogłyby zostać wykorzystane w celu powstrzymania drukowania linii zera: @IF(E2=0,"|",""). Wydaje się, że program Excel nie oferuje tej funkcji. Nie chcę ukrywać wierszy, chcę po prostu wyłączyć ich drukowanie w programie Excel.

MrExcel może wczuć się w twoją sytuację. Używałem Lotus 1-2-3 przez 8 lat, zanim moja firma zdecydowała się na Excel jako nowy standard. Zmiana nigdy nie jest ładna. Excel i Lotus są podobne, ale zaawansowani użytkownicy Lotus 1-2-3 mają zwykle problemy.

Po kilku latach od przejścia czuję, że Excel jest lepszy niż Lotus. Jednak jestem bardzo świadomy bólu wymaganego podczas zmiany. Łatwo jest potraktować zmiany jako osobisty atak i złość się na Microsoft. Pamiętam, jak codziennie myślałem: „DLACZEGO mam wstawiać„, Fałsz ”jako ostatni argument we wszystkich moich @VLOOKUP i dlaczego nie pojawia się plik pomocy i nie mówi mi tego?”.

Jeśli masz makra, które zostały zarejestrowane w programie Lotus 1-2-3, pamiętaj, że możesz skorzystać z usługi Consulting by do konwersji makr.

Jest kilka rzeczy, które Lotus 1-2-3 zrobił z łatwością, a które nie są dostępne w programie Excel. Piękna prostota funkcji / File Combine Add Entire w Lotusie została zastąpiona 8 krokami w programie Excel.

Dzisiejsze pytanie o potok do powstrzymywania drukowania wierszy to kolejny przykład, w którym Excel nie oferuje podobnej funkcji. Poniższe makro LotusPrint będzie symulować tę funkcję. To jest strasznie nieefektywne. Makro bada każdą komórkę w aktywnym zakresie kolumny A. Po znalezieniu potoku ukrywa wiersz. Następnie drukuje arkusz i wraca, aby odkryć ukryte wiersze.

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

Interesujące artykuły...