Jean y Arnoldo hicieron la pregunta de Excel de esta semana.
En Lotus 1-2-3, puede suprimir la impresión de una fila haciendo que el primer carácter sea una barra vertical (|). Esto fue genial, ya que podría tener una fórmula en la columna A, que podría ser utilizado para suprimir la impresión de líneas con cero: @IF(E2=0,"|","")
. Excel no parece ofrecer esta función. No quiero ocultar las filas, solo quiero suprimir su impresión en Excel.
MrExcel puede identificarse con su situación. Usé Lotus 1-2-3 durante 8 años antes de que mi empresa se decidiera por Excel como el nuevo estándar. Cambiar nunca es bonito. Excel y Lotus son similares, pero los usuarios avanzados de Lotus 1-2-3 tienden a tener problemas.
Varios años después de la transición, ahora siento que Excel es mejor que Lotus. Sin embargo, soy muy consciente del dolor necesario al cambiar. Es fácil tomar los cambios como un ataque personal y enojarse con Microsoft. Recuerdo que pensaba a diario, "¿POR QUÉ tengo que poner un ', Falso' como argumento final en todos mis @VLOOKUP, y por qué no aparece el archivo de ayuda y simplemente me lo dice?".
Si tiene macros que se registraron en Lotus 1-2-3, recuerde que puede utilizar Consulting by para la conversión de macros.
Hay algunas cosas que Lotus 1-2-3 hizo fácilmente y que no están disponibles en Excel. La hermosa simplicidad de / File Combine Add Entire en Lotus se reemplaza con 8 pasos en Excel.
La pregunta de hoy con la tubería para suprimir la impresión de las filas es otro ejemplo en el que Excel no ofrece una característica similar. La macro de LotusPrint a continuación simulará esta función. Es terriblemente ineficaz. La macro examina cada celda en el rango activo de la columna A. Cuando encuentra una tubería, oculta la fila. Luego imprime la hoja de trabajo y vuelve a mostrar las filas que estaban ocultas.
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