Potlačit řádky při tisku - Excel tipy

Jean a Arnoldo položili tento týden excelovskou otázku.

V Lotus 1-2-3 můžete potlačit tisk řádku tím, že první znak bude znak kanálu (|). To bylo v pohodě, protože byste mohli mít vzorec ve sloupci A, které by mohly být použity k potlačení tisk řádků s nulou: @IF(E2=0,"|",""). Zdá se, že Excel tuto funkci nenabízí. Nechci skrýt řádky, jen chci potlačit jejich tisk v aplikaci Excel.

MrExcel se dokáže vcítit do vaší situace. Lotus 1-2-3 jsem používal 8 let, než se moje společnost rozhodla pro Excel jako nový standard. Přepínání není nikdy hezké. Excel a Lotus jsou podobné, ale Power Users v Lotus 1-2-3 mají tendenci narážet na problémy.

Několik let po přechodu mám nyní pocit, že Excel je lepší než Lotus. Jsem si však akutně vědom bolesti potřebné při změně. Je snadné brát změny jako osobní útok a být naštvaný na Microsoft. Pamatuji si, jak jsem denně přemýšlel: „PROČ musím do všech svých @VLOOKUPů uvést jako poslední argument znak„, False “, a proč mi nevyjde soubor nápovědy a neřekne mi to?“.

Pokud máte makra, která byla zaznamenána v Lotus 1-2-3, nezapomeňte, že pro převod maker můžete použít Consulting od.

Existuje několik věcí, které Lotus 1-2-3 udělal snadno a které nejsou k dispozici v aplikaci Excel. Krásná jednoduchost / File Combine Add Entire v Lotus je nahrazena 8 kroky v aplikaci Excel.

Dnešní otázka týkající se potlačení potlačení řádků je dalším příkladem, kdy Excel nenabízí žádnou podobnou funkci. Makro LotusPrint níže bude tuto funkci simulovat. Je to strašně neefektivní. Makro zkoumá každou buňku v aktivním rozsahu sloupce A. Když najde kanál, skryje řádek. Poté vytiskne list a vrátí se zpět ke skrytí řádků, které byly skryty.

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

Zajímavé články...