Hoja inteligente 9.1.1
Smartsheet es una plataforma de trabajo dinámica que le permite gestionar proyectos, crear flujos de trabajo y colaborar con su equipo.
A medida que se vuelve competente con Excel VBA, pasa mucho tiempo trabajando en las ventanas de código. Las macros que registra se almacenan en un módulo y puede escribir el código Excel VBA directamente en un módulo VBA.
Si tiene varios proyectos abiertos, VBE puede tener muchas ventanas de código en un momento dado.
La sobrecarga de la ventana de código no es nada agradable.
Las ventanas de código son muy parecidas a las ventanas de libros de trabajo en Excel. Puede minimizarlos, maximizarlos, cambiar su tamaño, ocultarlos, reorganizarlos, etc. A la mayoría de las personas les resulta mucho más fácil maximizar la ventana de código en la que están trabajando. Si lo hace, podrá ver más código y evitará que se distraiga.
Para maximizar una ventana de Código, haga clic en el botón Maximizar en su barra de título (justo al lado de la X). O simplemente haga doble clic en su barra de título para maximizarla. Para restaurar una ventana de Código a su tamaño original, haga clic en el botón Restaurar. Cuando una ventana está maximizada, su barra de título no está visible, por lo que encontrará el botón Restaurar debajo de la barra de título de VBE.
A veces, es posible que desee tener dos o más ventanas de código visibles. Por ejemplo, es posible que desee comparar el código en dos módulos o copiar el código de un módulo a otro. Puede organizar las ventanas manualmente o elegir Ventana → Mosaico horizontalmente o Ventana → Mosaico verticalmente para organizarlas automáticamente.
Puede cambiar rápidamente entre las ventanas de código presionando Ctrl + F6. Si repite esa combinación de teclas, sigue recorriendo todas las ventanas de código abiertas. Al presionar Ctrl + Shift + F6 se desplaza por las ventanas en orden inverso. (Para obtener más información, consulte estos métodos abreviados de teclado de Excel VBA ).
Minimizar una ventana de Código lo quita del camino. También puede hacer clic en el botón Cerrar de la ventana (que muestra una X) en la barra de título de una ventana de Código para cerrar la ventana. (Cerrar una ventana simplemente la oculta; no perderá nada). Para abrirla nuevamente, simplemente haga doble clic en el objeto apropiado en la ventana Proyecto. Por cierto, trabajar con estas ventanas de código parece más difícil de lo que realmente es.
En general, un módulo de Excel VBA puede contener tres tipos de código:
Un solo módulo VBA puede almacenar cualquier número de subprocedimientos, procedimientos de función y declaraciones. Bueno, no es un límite - aproximadamente 64.000 caracteres por módulo. Es poco probable que te acerques al límite de 64.000 caracteres. Pero si lo hizo, la solución es simple: simplemente inserte un nuevo módulo.
La forma en que organiza un módulo VBA depende completamente de usted. Algunas personas prefieren mantener todo su código VBA para una aplicación en un solo módulo VBA; a otros les gusta dividir el código en varios módulos. Es una elección personal, como arreglar los muebles.
Un módulo VBA vacío es como la comida falsa que ves en las ventanas de algunos restaurantes chinos; se ve bien, pero realmente no hace mucho por usted. Antes de que pueda hacer algo significativo, debe tener algún código VBA en el módulo VBA. Puede obtener el código VBA en un módulo VBA de tres maneras:
A veces, la mejor ruta es la más directa. Ingresar el código directamente implica… bueno, ingresar el código directamente. En otras palabras, escribe el código usando su teclado. Ingresar y editar texto en un módulo VBA funciona como es de esperar. Puede seleccionar, copiar, cortar, pegar y hacer otras cosas con el texto.
Use la tecla Tab para sangrar algunas de las líneas para que su código sea más fácil de leer. Sangrar no es necesario, pero es un buen hábito para adquirir. A medida que estudie la codificación de Excel VBA, comprenderá por qué es útil sangrar las líneas de código.
Una sola línea de código VBA puede ser tan larga como necesite. Sin embargo, es posible que desee utilizar los caracteres de continuación de línea para dividir líneas largas de código. Para continuar una sola línea de código (también conocida como declaración) de una línea a la siguiente, termine la primera línea con un espacio seguido de un guión bajo (_). Luego continúe la declaración en la siguiente línea. Y no olvides el espacio. Un carácter de subrayado que no esté precedido por un espacio no funcionará.
A continuación, se muestra un ejemplo de una sola declaración dividida en tres líneas:
Selection.Sort Key1: = Rango ("A1"), _ Order1: = xlAscending, Header: = xlGuess, _ Orientación: = xlTopToBottom
Esta declaración funcionaría exactamente de la misma manera si se ingresara en una sola línea (sin caracteres de continuación de línea). Observe que la segunda y tercera líneas de esta declaración están sangradas. La sangría es opcional, pero ayuda a aclarar el hecho de que estas líneas no son declaraciones separadas.
Los ingenieros de bata blanca que diseñaron el VBE anticiparon que la gente estaría cometiendo errores. Por lo tanto, el VBE tiene varios niveles de deshacer y rehacer. Si eliminó una declaración que no debería haber hecho, haga clic en el botón Deshacer en la barra de herramientas (o presione Ctrl + Z) hasta que la declaración vuelva a aparecer. Después de deshacer, puede hacer clic en el botón Rehacer para realizar los cambios que ha deshecho.
¿Estás listo para ingresar un código real? Pruebe los siguientes pasos:
Cree un nuevo libro de trabajo en Excel.
Presione Alt + F11 para activar el VBE.
Haga clic en el nombre del nuevo libro de trabajo en la ventana Proyecto.
Choose Insert → Module to insert a VBA module into the project.
Type the following code in the module:
Sub GuessName() Msg = "Is your name " & Application.UserName & "?" Ans = MsgBox(Msg, vbYesNo) If Ans = vbNo Then MsgBox "Oh, never mind." If Ans = vbYes Then MsgBox "I must be psychic!" End Sub
Position the cursor anywhere within the text you typed and press F5 to execute the procedure.
F5 is a shortcut for Run → Run Sub/UserForm. If you entered the code correctly, Excel executes the procedure, and you can respond to the simple dialog box. The text in the dialog box will be different from the text shown here.
The GuessName procedure displays this dialog box.
When you enter the code listed in Step 5, you might notice that the VBE makes some adjustments to the text you enter. For example, after you type the Sub statement, the VBE automatically inserts the End Sub statement. And if you omit the space before or after an equal sign, the VBE inserts the space for you. Also, the VBE changes the color and capitalization of some text. This is all perfectly normal. It’s just the VBE’s way of keeping things neat and readable.
If you followed the previous steps, you just wrote a VBA Sub procedure, also known as a macro. When you press F5, Excel executes the code and follows the instructions. In other words, Excel evaluates each statement and does what you told it to do. (Don’t let this newfound power go to your head.) You can execute this macro any number of times — although it tends to lose its appeal after a few dozen times.
For the record, this simple Excel macro uses the following concepts:
Another way you can get code into a VBA module is by recording your actions, using the Excel macro recorder.
By the way, there is absolutely no way you can record the GuessName procedure shown above. You can record only things that you can do directly in Excel. Displaying a message box is not in Excel’s normal repertoire. (It’s a VBA thing.) The macro recorder is useful, but in many cases, you’ll probably need to enter at least some code manually.
Here’s a step-by-step example that shows how to record a macro that inserts a new worksheet and hides all but the first ten rows and all but the first ten columns. If you want to try this example, start with a new, blank Excel workbook and follow these steps:
Activate a worksheet in the workbook.
Any Excel worksheet will do.
Click the Developer tab, and make sure that Use Relative References is not highlighted.
This macro is recorded using Absolute References.
Choose Developer → Code → Record Macro, or click the icon next to the Ready indicator on the left end of the status bar.
Excel displays its Record Macro dialog box.
In the Record Macro dialog box, name the macro TenByTen, specify that you want the macro stored in This Workbook, and press Shift+T for the shortcut key.
The macro can be executed when you press Ctrl+Shift+T.
Click OK to start recording. Excel automatically inserts a new VBA module into the project that corresponds to the active workbook.
From this point on, Excel converts your actions to VBA code. While you’re recording, the icon in the status bar turns into a small square. This is a reminder that the macro recorder is running. You can also click that icon to stop the macro recorder.
Click the New Sheet icon to the right of the last sheet tab.
Excel inserts a new worksheet.
Select the entire Column K (the 11th column) and press Ctrl+Shift+right arrow; then right-click any selected column and choose Hide from the shortcut menu.
Excel hides all of the selected columns.
Select the entire Row 11 and press Ctrl+Shift+down arrow; then right-click any selected row and choose Hide from the shortcut menu.
Excel hides all of the selected columns.
Select cell A1.
Choose Developer → Code → Stop Recording, or click the Stop Recording button on the status bar (the small square). Excel stops recording your actions.
Para ver esta macro recién grabada, presione Alt + F11 para activar el VBE. Busque el nombre del libro de trabajo en la ventana Proyecto. Verá que el proyecto tiene un nuevo módulo en la lista. El nombre del módulo depende de si tenía otros módulos en el libro de trabajo cuando comenzó a grabar la macro. Si no lo hizo, el módulo se llama Module1. Puede hacer doble clic en el módulo para ver la ventana Código del módulo.
Aquí está el código generado por sus acciones:
Sub TenByTen () ' 'TenByTen Macro ' 'Atajo de teclado: Ctrl + Shift + T ' Sheets.Add After: = ActiveSheet Columnas ("K: K"). Seleccione Rango (Selección, Selección.End (xlToRight)). Seleccionar Selection.EntireColumn.Hidden = True Filas ("11:11"). Seleccione Rango (Selección, Selección.Fin (xlDown)). Seleccionar Selection.EntireRow.Hidden = True Rango ("A1"). Seleccionar End Sub
Para probar esta macro, active cualquier hoja de trabajo y presione la tecla de método abreviado que asignó en el Paso 4: Ctrl + Shift + T.
Si no asignó una tecla de método abreviado a la macro, no se preocupe. A continuación, se explica cómo mostrar una lista de todas las macros disponibles y ejecutar la que desee:
Elija Desarrollador → Código → Macros. Los fanáticos del teclado pueden presionar Alt + F8.
Cualquiera de estos métodos muestra un cuadro de diálogo que enumera todas las macros disponibles.
Seleccione la macro en la lista (en este caso, TenByTen).
Haga clic en el botón Ejecutar.
Excel ejecuta la macro y obtiene una nueva hoja de trabajo con diez filas visibles y diez columnas visibles.
Puede ejecutar cualquier número de comandos y realizar cualquier número de acciones mientras se ejecuta la grabadora de macros. Excel traduce diligentemente las acciones de su mouse y las pulsaciones de teclas al código VBA.
Y, por supuesto, también puede editar la macro después de grabarla. Para poner a prueba sus nuevas habilidades, intente editar la macro para que inserte una hoja de trabajo con nueve filas y columnas visibles, perfecta para un Sudoku.
El método final para introducir código en un módulo VBA es copiarlo de otro módulo o de algún otro lugar (como un sitio web). Por ejemplo, un procedimiento de función o sub que escriba para un proyecto también puede ser útil en otro proyecto. En lugar de perder el tiempo reingresando el código, puede activar el módulo y usar los procedimientos normales de copiar y pegar del Portapapeles. (Probablemente le gusten los atajos de teclado Ctrl + C para copiar y Ctrl + V para pegar). Después de pegar el código en un módulo VBA, puede modificar el código si es necesario.
Por cierto, encontrará muchos ejemplos de código VBA en la web. Si desea probarlos, seleccione el código en su navegador y presione Ctrl + C para copiarlo. Luego active un módulo y presione Ctrl + V para pegarlo.
Cuando copia código de un sitio web, a veces es necesario corregirlo. Por ejemplo, los caracteres de comillas pueden ser "comillas tipográficas" y deben convertirse en caracteres de comillas simples. Y, a veces, se envuelven largas filas. Las declaraciones erróneas son fáciles de detectar en el VBE porque aparecen en rojo.
Smartsheet es una plataforma de trabajo dinámica que le permite gestionar proyectos, crear flujos de trabajo y colaborar con su equipo.
SharePoint es un sistema de colaboración basado en web que utiliza una variedad de aplicaciones de flujo de trabajo, bases de datos de "listas" y otros componentes web, así como funciones de seguridad para dar control a los grupos empresariales que trabajan juntos.
Van Nien Calendar es una aplicación de visualización de calendario en su teléfono, que le ayuda a ver rápidamente la fecha lunisolar en su teléfono, organizando así su importante trabajo.
Microsoft Outlook es una aplicación empresarial y de productividad desarrollada por Microsoft Corporation.
ClickUp es una de las plataformas de productividad mejor calificadas para cualquier empresa. Grandes empresas como Google, Booking.com, San Diego Padres y Uber utilizan ClickUp para aumentar la productividad en el lugar de trabajo.
PDF se ha convertido en un formato de uso común para leer, crear y enviar documentos de texto. A su vez, se ha producido un aumento en el número de programas utilizados para este tipo de documentación. PDF-XChange Viewer se encuentra entre un número creciente de visores de PDF.
Apache OpenOffice ofrece un conjunto completo de aplicaciones de Office que rivalizan con Microsoft 365, especialmente en Excel, PowerPoint y Word. Le permite gestionar sus proyectos de forma más eficaz y admite varios formatos de archivo.
El software iTaxViewer es el software de lectura de archivos XML más popular en la actualidad. Este software es una aplicación de lectura de declaraciones electrónicas de impuestos en formato XML de la Dirección General de Tributación.
Nitro PDF Reader es un práctico editor de PDF que cubre todas las tareas básicas que la mayoría de las personas realizan todos los días con documentos PDF.
Foxit Reader es principalmente un lector de PDF y también le permite crear archivos PDF, firmarlos, editarlos y agregar anotaciones. Funciona en sistemas operativos, existen complementos para varios programas del paquete Microsoft Office.