Жан и Арнолдо зададоха въпроса за 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