MS Excel: Cómo usar la instrucción FOR…NEXT (VBA)

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MS Excel: Cómo usar la instrucción FOR…NEXT (VBA)

Este tutorial de Excel explica cómo usar Excel FOR… SIGUIENTE instrucción Cree un bucle FOR en VBA usando sintaxis y ejemplos.

describir

La instrucción FOR…NEXT de Microsoft Excel se usa para crear un bucle FOR de modo que pueda ejecutar el código VBA una cantidad fija de veces.

La declaración FOR…NEXT es una función integrada en Excel y se clasifica como una función lógica. Se puede utilizar como una función VBA (VBA) en Excel. Como función de VBA, puede usar esta función en el código de macro ingresado a través del editor de Microsoft Visual Basic.

Si desea seguir este tutorial, descargue la hoja de cálculo de muestra.

sintaxis

La sintaxis para crear un bucle FOR usando la declaración FOR…NEXT en Microsoft Excel es:

For counter = start To end [Step increment]
   {...statements...}
Next [counter]

parámetro o parámetro

contador La variable de contador de bucle. inicio El valor inicial del contador. end El valor final del contador. Incremento opcional. El valor por el cual el contador se incrementa cada vez que pasa por el ciclo. Puede ser positivo o negativo. Si no se especifica, se incrementa de forma predeterminada en 1, de modo que cada pasada por el ciclo incrementa el contador en 1. Las sentencias ejecutan sentencias de código cada vez que pasa por el bucle.

devolver los bienes

La instrucción FOR…NEXT crea un bucle FOR en VBA.

notas

  • Consulte también la instrucción WHILE…WEND para crear un bucle WHILE en VBA.

aplicar para

  • Excel para Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2011 para Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000

tipo de función

  • Funciones VBA (VBA)

Ejemplo (como una función de VBA)

La declaración FOR…NEXT solo se puede usar en código VBA en Microsoft Excel.

Veamos cómo crear bucles FOR en Microsoft Excel, comenzando con bucles simples, dobles y triples, y luego exploremos cómo cambiar el valor utilizado para incrementar el contador en cada bucle.

bucle único

La implementación más simple de un bucle FOR es usar la instrucción FOR…NEXT para crear un solo bucle. Esto le permitirá repetir el código VBA un número fijo de veces.

Por ejemplo:

Sub Single_Loop_Example

   Dim LCounter As Integer

   For LCounter = 1 To 5
      MsgBox (LCounter)
   Next LCounter

End Sub

En este ejemplo, el bucle FOR está controlado por la variable LCounter. Se repetirá 5 veces, comenzando en 1 y terminando en 5. Cada vez en el bucle, muestra un cuadro de mensaje con el valor de la variable LCounter. Este código mostrará 5 cuadros de mensaje con los siguientes valores: 1, 2, 3, 4 y 5.

Ciclo único – Incremento de cambio

De forma predeterminada, un bucle FOR incrementará su contador de bucles en 1, pero esto se puede personalizar.puedes usarlo STEP increment Cambie el valor utilizado para incrementar el contador. El incremento de un bucle FOR puede ser positivo o negativo.

incremento positivo

Primero veamos un ejemplo de cómo incrementar el contador de un bucle FOR en un valor positivo.

Por ejemplo:

Sub Increment_Positive_Example

   Dim LCounter As Integer

   For LCounter = 1 To 9 Step 2
      MsgBox LCounter
   Next LCounter

End Sub

En este ejemplo, usamos Step 2 Cambie el incremento a 2 en el bucle FOR. Esto significa que el ciclo FOR comenzará en 1, se incrementará en 2 y finalizará en 9. El código mostrará 5 cuadros de mensaje con los siguientes valores: 1, 3, 5, 7 y 9.

incremento negativo

Ahora, veamos cómo incrementar el contador del bucle FOR en un valor negativo.

Por ejemplo:

Sub Increment_Negative_Example

   Dim LCounter As Integer

   For LCounter = 50 To 30 Step -5
      MsgBox LCounter
   Next LCounter

End Sub

Cuando incrementa un valor negativo, necesita que el número inicial sea el valor más alto y el número final sea el valor más bajo porque el bucle FOR contará hacia atrás. Entonces, en este ejemplo, el ciclo FOR comenzará en 50, se incrementará en -5 y terminará en 30. El código mostrará 5 cuadros de mensaje con los siguientes valores: 50, 45, 40, 35 y 30.

anillo doble

A continuación, veamos un ejemplo de cómo crear un doble bucle FOR en Microsoft Excel.

Por ejemplo:

Sub Double_Loop_Example

   Dim LCounter1 As Integer
   Dim LCounter2 As Integer

   For LCounter1 = 1 To 4
      For LCounter2 = 8 To 9
         MsgBox LCounter1 & "-" & LCounter2
      Next LCounter2
   Next LCounter1

End Sub

Aquí tenemos 2 bucles FOR. El bucle FOR externo está controlado por la variable LCounter1. El bucle FOR interno está controlado por la variable LCounter2.

En este ejemplo, el ciclo FOR externo se repetirá 4 veces (comenzando en 1 y terminando en 4), mientras que el ciclo FOR interno lo hará 2 veces (comenzando en 8 y terminando en 9). En el bucle interno, el código muestra un cuadro de mensaje con los valores LCounter1-LCounter2 cada vez. Entonces, en este ejemplo, se mostrarán 8 cuadros de mensaje con los siguientes valores: 1-8, 1-9, 2-8, 2-9, 3-8, 3-9, 4-8 y 4-9.

tres anillos

A continuación, veamos un ejemplo de cómo crear un triple bucle FOR en Microsoft Excel.

Por ejemplo:

Sub Triple_Loop_Example

   Dim LCounter1 As Integer
   Dim LCounter2 As Integer
   Dim LCounter3 As Integer

   For LCounter1 = 1 To 2
      For LCounter2 = 5 To 6
         For LCounter3 = 7 To 8
            MsgBox LCounter1 & "-" & LCounter2 & "-" & LCounter3
         Next LCounter3
      Next LCounter2
   Next LCounter1

End Sub

Aquí tenemos 3 bucles FOR. El bucle FOR más externo está controlado por la variable LCounter1. El siguiente bucle FOR está controlado por la variable LCounter2. El bucle FOR más interno está controlado por la variable LCounter3.

En este ejemplo, el bucle FOR más externo se repetirá 2 veces (comenzando en 1 y terminando en 2), el siguiente ciclo FOR se repetirá 2 veces (comenzando en 5 y terminando en 6) y el ciclo FOR más interno se repetirá 2 veces ( comienza a las 7 y termina a las 8).

En el bucle más interno, el código muestra un cuadro de mensaje cada vez con los valores de LCounter1-LCounter2-LCounter3. Este código mostrará 8 cuadros de mensaje con los siguientes valores: 1-5-7, 1-5-8, 1-6-7, 1-6-8, 2-5-7, 2-5-8, 2 – 6-7 y 2-6-8.

Ejemplo #1 del video

En el primer ejemplo de video, usaremos una instrucción For…Next para iterar a través de los productos en la columna A y actualizar el tipo de aplicación correspondiente en la columna B.

Sub totn_for_loop_example1()

   Dim LCounter As Integer

   For LCounter = 2 To 4
      If Cells(LCounter, 1).Value = "Excel" Then
         Cells(LCounter, 2).Value = "Spreadsheet"

      ElseIf Cells(LCounter, 1).Value = "Access" Then
         Cells(LCounter, 2).Value = "Database"

      ElseIf Cells(LCounter, 1).Value = "Word" Then
         Cells(LCounter, 2).Value = "Word Processor"

      End If
   Next LCounter

End Sub

Ejemplo #2 del video

En el segundo ejemplo de video, tenemos una lista de participantes en la columna A, y usaremos dos bucles FOR para asignar a cada participante al Equipo A o al Equipo B (alternando entre los dos).

Sub totn_for_loop_example2()

   Dim LCounter1 As Integer
   Dim LCounter2 As Integer

   For LCounter1 = 2 To 9 Step 2
      Cells(LCounter1, 2).Value = "Team A"
   Next LCounter1

   For LCounter2 = 3 To 9 Step 2
      Cells(LCounter2, 2).Value = "Team B"
   Next LCounter2

End Sub
(Visited 10 times, 1 visits today)