Jean a Arnoldo položili tento týždeň otázku v programe Excel.
V Lotus 1-2-3 môžete potlačiť tlač riadku tak, že prvým znakom bude znak potrubia (|). To bolo v pohode, pretože by ste mohli mať vzorec v stĺpci A, ktoré by mohli byť použité na potlačenie tlač riadkov s nulou: @IF(E2=0,"|","")
. Zdá sa, že program Excel túto funkciu neponúka. Nechcem skryť riadky, len chcem potlačiť ich tlač v Exceli.
MrExcel sa dokáže vcítiť do vašej situácie. Lotus 1-2-3 som používal 8 rokov, kým sa moja spoločnosť rozhodla pre Excel ako nový štandard. Prepínanie nie je nikdy pekné. Programy Excel a Lotus sú si podobné, ale pokročilí používatelia programu Lotus 1-2-3 majú tendenciu naraziť na problémy.
Niekoľko rokov po prechode sa teraz cítim, že je Excel lepší ako Lotus. Som si však akútne vedomý bolesti, ktorá je potrebná pri zmene. Je ľahké brať zmeny ako osobný útok a hnevať sa na Microsoft. Pamätám si, ako som si každý deň myslel: „PREČO musím do všetkých svojich @VLOOKUPOV uviesť posledný znak„, False “a prečo mi nevyjde pomocný súbor, ktorý mi to jednoducho povie?“.
Ak máte makrá, ktoré boli zaznamenané v Lotus 1-2-3, nezabudnite, že na prevod makra môžete použiť program Consulting od.
Existuje niekoľko vecí, ktoré Lotus 1-2-3 urobil ľahko a ktoré nie sú k dispozícii v programe Excel. Krásna jednoduchosť súboru / File Combine Add Entire v Lotus je nahradená 8 krokmi v programe Excel.
Dnešná otázka, ktorá má potlačiť tlač riadkov, je ďalším príkladom, keď program Excel neponúka žiadnu podobnú funkciu. Makro LotusPrint nižšie bude simulovať túto funkciu. Je to strašne neefektívne. Makro skúma každú bunku v aktívnom rozsahu stĺpca A. Keď nájde kanál, skryje riadok. Potom vytlačí pracovný hárok a vráti sa späť k skrytiu riadkov, ktoré boli skryté.
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