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.
El tipo de bucle más simple en la programación de Excel VBA es un bucle For-Next. El bucle está controlado por una variable de contador, que comienza en un valor y se detiene en otro valor. Los enunciados entre el enunciado For y el enunciado Siguiente son los enunciados que se repiten en el ciclo.
El siguiente ejemplo utiliza un bucle For-Next para sumar los primeros 1000 números positivos. La variable Total comienza en cero. Entonces ocurre el bucle. La variable Cnt es el contador de bucle. Comienza como 1 y se incrementa en 1 cada vez que pasa por el ciclo. El ciclo termina cuando Cnt es 1,000.
Este ejemplo tiene solo una declaración dentro del ciclo. Esta declaración agrega el valor de Cnt a la variable Total. Cuando finaliza el ciclo, un MsgBox muestra la suma de los números.
Sub AddNumbers () Dim total como doble Dim Cnt tan largo Total = 0 Para Cnt = 1 a 1000 Total = Total + Cnt Siguiente Cnt MsgBox Total End Sub
Debido a que el contador de bucle es una variable normal, puede escribir código para cambiar su valor dentro del bloque de código entre las instrucciones For y Next. Sin embargo, esta es una práctica muy mala .
Puede usar un valor de Paso para omitir algunos valores de contador en un bucle For-Next. Aquí está el ejemplo anterior, reescrito para sumar solo los números impares entre 1 y 1,000:
Sub AddOddNumbers () Dim total como doble Dim Cnt tan largo Total = 0 Para Cnt = 1 a 1000 Paso 2 Total = Total + Cnt Siguiente Cnt MsgBox Total End Sub
Esta vez, Cnt comienza como 1 y luego toma valores de 3, 5, 7, etc. El valor de Paso determina cómo se incrementa el contador. Tenga en cuenta que el valor del ciclo superior (1000) no se utiliza en realidad porque el valor más alto de Cnt será 999.
Aquí hay otro ejemplo que usa un valor de Paso de 3. Este procedimiento funciona con la hoja activa y aplica un sombreado gris claro a cada tercera fila, desde la fila 1 a la fila 100.
Sub ShadeEveryThirdRow () Dim i tan largo Para i = 1 a 100 Paso 3 Filas (i) .Interior.Color = RGB (200, 200, 200) Siguiente yo End Sub
Vea el resultado de ejecutar esta macro.
Usar un bucle para aplicar sombreado de fondo a las filas.
Un bucle For-Next también puede incluir una o más declaraciones Exit For dentro del bucle. Cuando VBA encuentra esta declaración, el ciclo termina inmediatamente.
El siguiente ejemplo demuestra la instrucción Exit For. Esta rutina es un procedimiento de función, destinado a ser utilizado en una fórmula de hoja de trabajo. La función acepta un argumento (una variable llamada Str) y devuelve los caracteres a la izquierda del primer dígito numérico. Por ejemplo, si el argumento es "KBR98Z", la función devuelve "KBR".
Función TextPart (Str) Dim i tan largo TextPart = "" Para i = 1 a Len (Str) If IsNumeric (Mid (Str, i, 1)) Entonces Salir para Demás TextPart = TextPart & Mid (Str, i, 1) Terminara si Siguiente yo Función final
El bucle For-Next comienza con 1 y termina con el número que representa el número de caracteres de la cadena. El código usa la función Mid de VBA para extraer un solo carácter dentro del bucle. Si se encuentra un carácter numérico, se ejecuta la instrucción Exit For y el ciclo finaliza prematuramente.
If the character is not numeric, it is appended to the returned value (which is the same as the function’s name). The only time the loop will examine every character is if the string passed as the argument contains no numeric characters.
You can have any number of statements in the loop and nest For-Next loops inside other For-Next loops.
The following example uses a nested For-Next loop to insert random numbers into a 12-row-by-5-column range of cells. Notice that the routine executes the inner loop (the loop with the Row counter) once for each iteration of the outer loop (the loop with the Col counter). In other words, the routine executes the Cells(Row, Col) = Rnd statement 60 times.
These cells were filled by using a nested For-Next loop.
Sub FillRange() Dim Col tan largo Dim Row tan largo Para Col = 1 a 5 Para Fila = 1 a 12 Celdas (fila, columna) = Rnd Fila siguiente Siguiente columna End Sub
El siguiente ejemplo usa bucles For-Next anidados para inicializar una matriz tridimensional con el valor 100. Esta rutina ejecuta la instrucción en el medio de todos los bucles (la instrucción de asignación) 1,000 veces (10 * 10 * 10), cada vez con una combinación diferente de valores para i, j y k:
Sub NestedLoops () Atenuar MyArray (10, 10, 10) Dim i tan largo Dim j tan largo Dim k tan largo Para i = 1 a 10 Para j = 1 a 10 Para k = 1 a 10 MyArray (i, j, k) = 100 Siguiente k Siguiente j Siguiente yo 'Otras declaraciones van aquí End Sub
Aquí hay un ejemplo final que usa bucles For-Next anidados, con un valor Step. Este procedimiento crea un tablero de ajedrez cambiando el color de fondo de las celdas alternas.
Usando bucles para crear un patrón de tablero de ajedrez.
El contador de filas recorre un ciclo de 1 a 8. Una construcción If-Then determina qué estructura anidada For-Next usar. Para las filas impares, el contador Col comienza con 2. Para las filas pares, el contador Col comienza con 1. Ambos bucles usan un valor de Paso de 2, por lo que las celdas alternativas se ven afectadas. Dos declaraciones adicionales hacen que las celdas sean cuadradas (como un tablero de ajedrez real).
Sub MakeCheckerboard () Dim R tan largo, C tan largo Para R = 1 a 8 Si WorksheetFunction.IsOdd (R) Entonces Para C = 2 a 8 Paso 2 Celdas (R, C) .Interior.Color = 255 Siguiente C Demás Para C = 1 a 8 Paso 2 Celdas (R, C) .Interior.Color = 255 Siguiente C Terminara si Siguiente R Filas ("1: 8"). RowHeight = 35 Columnas ("A: H"). ColumnWidth = 6.5 End Sub
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.