Жан та Арнольдо задали запитання Excel на цьому тижні.
У Lotus 1-2-3 ви можете придушити друк рядка, призначивши, що перший символ буде символом контуру (|). Це було круто , тому що ви могли б мати формулу в стовпці А , який може бути використаний для придушення друку ліній з нуля: @IF(E2=0,"|","")
. Здається, Excel не пропонує цієї функції. Я не хочу приховувати рядки, я просто хочу придушити їх друк у Excel.
MrExcel може співчувати вашій ситуації. Я використовував Lotus 1-2-3 протягом 8 років, перш ніж моя компанія прийняла рішення про Excel як новий стандарт. Переключення ніколи не буває гарним. Excel і Lotus схожі, але досвідчені користувачі Lotus 1-2-3, як правило, стикаються з проблемами.
Через кілька років після переходу зараз я вважаю, що Excel кращий за Lotus. Однак я гостро усвідомлюю біль, необхідний при перемиканні. Легко сприймати зміни як особисту атаку і сердитися на Microsoft. Я пам’ятаю, щодня думав: "ЧОМУ я повинен поставити" False "як остаточний аргумент у всіх своїх @VLOOKUP, і чому файл довідки не виходить і просто не повідомляє мені це?".
Якщо у вас є макроси, записані в Lotus 1-2-3, пам’ятайте, що ви можете скористатися Consulting by для перетворення макросів.
Є деякі речі, які Lotus 1-2-3 зробив легко, і які не доступні в Excel. Красива простота / File Combine Add Entire in Lotus замінена на 8 кроків в Excel.
Сьогоднішнє запитання про конвеєр для придушення друку рядків - ще один приклад, коли Excel не пропонує подібних функцій. Макрос LotusPrint нижче буде імітувати цю функцію. Це жахливо неефективно. Макрос перевіряє кожну комірку в активному діапазоні стовпця А. Коли він знаходить конвеєр, він приховує рядок. Потім друкується аркуш і повертається назад, щоб показати приховані рядки.
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