Jean și Arnoldo au pus întrebarea Excel din această săptămână.
În Lotus 1-2-3, puteți suprima tipărirea unui rând având ca primul caracter să fie un caracter pipă (|). Acest lucru a fost rece pentru că ai putea avea o formulă în coloana A , care ar putea fi utilizată pentru a suprima imprimarea liniilor cu zero: @IF(E2=0,"|","")
. Excel nu pare să ofere această caracteristică. Nu vreau să ascund rândurile, vreau doar să le suprim imprimarea în Excel.
MrExcel poate empatiza cu situația dvs. Am folosit Lotus 1-2-3 timp de 8 ani înainte ca firma mea să decidă pe Excel ca noul standard. Comutarea nu este niciodată frumoasă. Excel și Lotus sunt similare, dar utilizatorii puternici ai Lotus 1-2-3 tind să întâmpine probleme.
La câțiva ani după tranziție, acum simt că Excel este mai bun decât Lotus. Cu toate acestea, sunt extrem de conștient de durerea necesară la schimbare. Este ușor să luați modificările ca pe un atac personal și să vă supărați pe Microsoft. Îmi amintesc că m-am gândit zilnic: „DE CE trebuie să pun un„ False ”ca argument final în toate @VLOOKUP-urile mele și de ce nu apare fișierul de ajutor și doar îmi spune asta?”.
Dacă aveți macrocomenzi care au fost înregistrate în Lotus 1-2-3, amintiți-vă că puteți utiliza Consulting by pentru conversia macro.
Există câteva lucruri pe care Lotus 1-2-3 le-a făcut cu ușurință, care nu sunt disponibile în Excel. Simplitatea frumoasă a / Combinați fișierul Adăugați întreg în Lotus este înlocuită cu 8 pași în Excel.
Întrebarea de astăzi cu țeava pentru a suprima tipărirea rândurilor este un alt exemplu în care Excel nu oferă nicio caracteristică similară. Macro-ul LotusPrint de mai jos va simula această caracteristică. Este oribil de ineficient. Macro examinează fiecare celulă din intervalul activ al coloanei A. Când găsește o conductă, ascunde rândul. Apoi imprimă foaia de lucru și revine pentru a afișa rândurile ascunse.
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