VBA para recorrer filas de táboa en Excel (11 métodos)

  • Comparte Isto
Hugh West

Cando temos un gran conxunto de datos no noso libro de Excel, ás veces é conveniente que poidamos recorrer as filas para extraer os resultados específicos que queremos obter. Implementar VBA é o método máis eficaz, rápido e seguro para executar calquera operación en Excel. Neste artigo, mostrarémosche 11 métodos diferentes sobre como recorrer as filas dunha táboa en Excel coa macro VBA .

Descargar o libro de traballo

Podes descargar o libro de exercicios de Excel de práctica gratuíta desde aquí.

Recorre as filas da táboa con VBA.xlsm

11 métodos con VBA para recorrer as filas dunha táboa en Excel

Despois desta sección, aprenderá a recorrer as filas dunha táboa con 11 métodos diferentes, como bucle por filas ata unha cela en branco, bucle por filas ata atopar un valor específico, bucle por filas e colorear unha cela específica, etc. coa macro VBA en Excel.

Arriba está o conxunto de datos de exemplo que seguirá este artigo para describir os métodos.

1. Incrustar VBA para recorrer cada cela en cada fila dunha táboa por número de referencia de cela

Se queres recorrer cada cela en cada fila dunha táboa na túa folla de cálculo de Excel e obtén o número de referencia da cela como valor de retorno , despois siga os pasos que se indican a continuación.

Pasos:

  • Ao principio , preme Alt + F11 no teu teclado ou vaivariable.
Dim iData As Range

Esta peza de código está aquí para recorrer as filas do 1 á 15. Se atopa a palabra específica " Edge ", colorea a cela que contén a palabra. Continúa facendo isto ata que remate de escanear todos os datos desde as filas 1 ata a 15 na procura da palabra.

Ler máis: Como usar a matriz de táboas de BUSCAR V en base a Valor da cela en Excel

Lecturas similares

  • Existe a función TABLE en Excel?
  • Como converter a táboa en lista en Excel (3 xeitos rápidos)
  • Converter o intervalo en táboa en Excel (5 métodos sinxelos)
  • Use a fórmula nunha táboa de Excel de forma eficaz (con 4 exemplos)
  • Nome da táboa de Excel: todo o que precisa saber

7. Implementar VBA para recorrer cada fila e colorear cada fila impar en Excel

Na sección anterior, aprendemos a colorear unha cela que leva un valor específico. Nesta sección, aprenderemos a recorrer cada fila dunha táboa e colorear cada fila impar coa macro VBA en Excel.

Pasos para executar o proceso descríbense a continuación.

Pasos:

  • Como se mostra anteriormente, abra o Editor de Visual Basic desde o Desenvolvedor e Insira un Módulo na xanela do código.
  • A continuación, copie o seguinte código e pégueo en a xanela do código.
5966

O teu código xa está listo para executarse.

  • Agora, Executa a macro e mira a seguinte imaxe para ver a saída.

Todas as filas impares están coloreadas despois de recorrer todas as filas que residen na táboa da folla de traballo.

Explicación do código VBA

6717

Define a variable.

8398

Define o intervalo co que traballaremos.

3215

Esta parte do código refírese á iteración a través de todas as filas, comezando desde a seguinte fila da fila actual, B4 . Se o mod de dividir os números de fila por 2 é igual ao número de fila devolto almacenado nun tipo enteiro, entón este código colorea todas as filas que se extraen mediante o cálculo co índice de cores proporcionado no código. Segue movendo por todas as filas ata chegar ao final do intervalo.

8. Implementa VBA para recorrer filas e colorear todas as filas pares en Excel

Na sección anterior, aprendemos a colorear cada fila impar dunha táboa. Nesta sección, aprenderemos a recorrer cada fila dunha táboa e colorear cada fila pare coa macro VBA en Excel.

A continuación expóñense os pasos para executar o proceso.

Pasos:

  • Primeiro, abra o Editor de Visual Basic desde a pestana Desenvolvedor e Inserir un Módulo na xanela do código.
  • A continuación, copie o seguinte código e pégueo na xanela do código.
4116

O teu código xa está listoexecuta.

  • A continuación, executa a macro e mira a seguinte imaxe para ver o resultado.

Todas as filas pares teñen cor despois de pasar por todas as filas que residen na táboa da folla de traballo.

Explicación do código VBA

7278

Define a variable.

2097

Define o intervalo co que traballaremos.

4088

Este fragmento de código comeza a iterar despois as tres filas da fila actual, B4 . Primeiro coloreao, logo aumenta o reconto de filas en 2 e segue coloreándoo ata que chega á última fila do conxunto de datos.

9. Aplicar macro para iterar a través de filas ata a cela en branco en Excel

Se queres que o teu código funcione como se pasará por todas as filas da táboa e parará cando chegue a unha cela en branco , entón esta sección é para ti. Podes executar esa tarefa tanto co FOR Loop como co Do-Until Loop en Excel VBA .

9.1. Co bucle FOR

Pasos para recorrer as filas dunha táboa ata que se dea a continuación unha cela en branco con bucle FOR en VBA Excel.

Pasos:

  • Ao principio, abra Editor de Visual Basic desde a pestana Desenvolvedor e Inserir un Módulo na xanela do código.
  • Despois diso, copie o seguinte código e pégueo na xanela do código.
7249

O teu código xa está listo para executarse.

  • Entón, Executa omacro e o resultado móstrase no gif de abaixo.

Despois de executar a macro, comezou a percorrer todas as filas da táboa e unha vez que chegou á cela en branco, a cela B8 , detivo a iteración .

Explicación do código VBA

8282

Define a variable.

9193

Desactiva o evento de actualización da pantalla.

4651

Garda todas as filas a partir da Cela B4 ata a última.

3552

Selecciona Cela B4 .

4773

Esta peza de código comeza a pasar por todas as filas. Cando atopa unha cela baleira nunha fila, selecciónaa e continúa escaneando as filas ata chegar ao final.

9543

Activa o evento de actualización da pantalla.

9.2. Con Do-Until Loop

Pasos para recorrer as filas ata que se dea a continuación unha cela en branco co Do-Until loop en VBA .

Pasos:

  • Primeiro, abra Editor de Visual Basic desde a pestana Desenvolvedor e Insira un Módulo na xanela do código.
  • A continuación, copie o seguinte código e pégueo na xanela do código.
6263

O teu código xa está listo para executarse.

  • Máis tarde, Executa a macro. O resultado móstrase no seguinte gif.

Despois de executar a macro, comezou a pasar por todas as filas da táboa e unha vez chegou á cela en branco, a cela B8 , detivo a iteración .

Código VBAExplicación

1945

Seleccione a cela desde a que traballaremos.

6967

Inicia e continúa en bucle ata que se atope unha cela baleira.

7184

Cando se atopa unha cela baleira. atopado nunha fila, selecciónao e detén a iteración.

10. Macro VBA para iterar a través de filas ata varias celas en branco en Excel

Na sección anterior, aprendeu a deter o bucle cando se atopa unha cela baleira. Pero que pasa se non queres deter a iteración ata que se atopen varias celas en branco en lugar de só unha.

Os pasos para recorrer as filas ata que se atopen varias celas en branco nunha táboa. con VBA Excel móstranse a continuación.

Pasos:

  • Primeiro, abra Visual Basic Editor desde o Pestana Desenvolvedor e Insira un Módulo na xanela do código.
  • A continuación, copie o seguinte código e pegao na xanela do código.
6119

O teu código xa está listo para executarse.

  • Agora, Executar a macro e ver o seguinte gif para a saída.

Despois de executar a macro, non se detivo no primeira cela en branco, cela B8 . Detívose cando atopou dúas celas en branco consecutivas na cela B16 .

Explicación do código VBA

6605

Seleccione a cela desde que traballaremos.

8443

Inicia e continúa en bucle ata que se atopen dúas celas baleiras consecutivas.

4625

Cando se atopen dúas celas baleiras consecutivas, entónselecciónao e detén a iteración.

11. Incrustar VBA para recorrer filas concatenando todas as columnas ata que estean en branco en Excel

Esta sección mostrarache como pasar todas as filas dunha táboa e concatenar todas as columnas ata que quede unha cela en branco. atópase con VBA Excel.

Aprendemos como facelo coa macro VBA en Excel.

Pasos:

  • Ao principio, abra Editor de Visual Basic desde a pestana Desenvolvedor e Insira un módulo na xanela do código.
  • A continuación, copie o seguinte código e pégueo na xanela do código.
6062

O seu código agora está listo para executarse.

  • Máis tarde, Executa a macro e consulta o seguinte gif para ver o resultado.

Como podes ver no gif anterior é que hai unha ventá emerxente MsgBox que che mostra o valor concatenado de todas as columnas que residen en cada fila da táboa da súa folla de cálculo de Excel. Pero detívose unha vez que chegou á cela en branco .

Explicación do código VBA

3817

Define as variables.

2384

Establece o nome da folla co que traballaremos (" ConcatenatingAllColUntilBlank " é o nome da folla no libro).

4695

Define o intervalo co que traballaremos.

7891

Esta peza de código inicia o bucle coa matriz. Continúa en bucle ata que devolve o subíndice máis grande da matriz e o límite inferior da matrizprimeira dimensión. Despois entra na iteración de extraer o límite inferior da segunda dimensión. Despois diso, pasa todos os valores extraídos na variable iResult concatenándoos e arroxando o resultado no MsgBox. Continúa facéndoo ata que atopa unha cela baleira.

Conclusión

Para concluír, este artigo mostrouche 11 métodos eficaces sobre como recorrer as filas. dunha táboa en Excel coa macro VBA . Espero que este artigo che resultou moi beneficioso. Non dubides en facer calquera dúbida sobre o tema.

á pestana Desenvolvedor -> Visual Basicpara abrir o Editor de Visual Basic.

  • A continuación, na xanela do código emerxente, desde o barra de menú, faga clic en Inserir -> Módulo .

  • A continuación, copie o seguinte código e pégueo no código xanela.
2942

O teu código xa está listo para executarse.

  • Agora, preme F5 no teu teclado ou na barra de menú seleccione Executar -> Executar Sub/UserForm . Tamén podes facer clic na icona de reprodución pequena da barra do submenú para executar a macro.

  • Ou para testemuña visualmente e compara o conxunto de datos e o resultado, podes gardar o código e volver á folla de traballo de interese.
  • A partir de aí, podes facer clic en Macros na pestana Desenvolvedor , seleccione o nome da macro e, a continuación, faga clic en Executar .

Despois de executar correctamente o código, mira o gif anterior para ver o resultado. Aparecerá unha ventá emerxente MsgBox que che mostrará o número de referencia de cada cela de cada fila da táboa da túa folla de Excel.

Explicación do código VBA

2880

Para obter o último número de fila da táboa buscando na columna B.

4231

Establece o número de fila 4, desde onde comezan os nosos datos.

9692

Para realizar un bucle desde a primeira fila.

3031

Establece a columna número 2, desde onde comezan os nosos datos.

6914

Comeza a recorrer as filas para obter a últimanúmero de columna avaliando a fila actual ata a última fila.

9468

Incremente en bucle a columna desde a primeira fila ata a última fila.

1230

Este fragmento de código funciona para procesar, incrementa despois de cada un. iteración e mostrar o resultado do código.

Ler máis: Como engadir unha nova fila automaticamente nunha táboa de Excel

2 . Implementa VBA para recorrer cada cela en cada fila por valor

Se queres recorrer cada cela en cada fila dunha táboa e lanzar o valor que reside nas celas como valor de retorno , entón esta sección axudarache a descubrir como facelo con VBA Excel.

Podes facelo co ListObject e co <1 Propiedade>DataBodyRange de VBA . Mostrarémosche o código da macro tanto co obxecto como coa propiedade.

2.1. Co ListObject

Os pasos para recorrer cada cela en cada fila dunha táboa por valor de cela co ListObject en VBA Excel indícanse a continuación.

Pasos:

  • Do mesmo xeito que antes, abra o Editor de Visual Basic desde a pestana Desenvolvedor e Insira un módulo na xanela do código.
  • A continuación, na xanela do código, copie o seguinte código e pegue
4910

O teu código xa está listo para executarse.

  • Despois diso, Executa a macro como vos mostramos na sección anterior. O resultado móstrase no gifa continuación.

Haberá unha ventá emerxente MsgBox que che mostrará o valor que leva cada cela de cada fila da táboa da túa folla de Excel.

Explicación do código VBA

7514

Define as variables.

4287

Esta peza de código comeza primeiro a pasar polas filas da táboa (" TblStudents " é o nome da nosa táboa). A continuación, introduce columnas para cada fila. Despois diso, pase o valor da cela en MsgBox. A continuación, vai á seguinte columna. Despois de rematar de iterar por todas as columnas dunha fila, pasa á seguinte fila e continúa o proceso de iteración ata a última fila.

2.2. Coa propiedade DataBodyRange

Para ser máis específico cos datos extraídos da táboa, pode utilizar a propiedade DataBodyRange de ListObject . A propiedade DataBodyRange mostraralle o resultado que contén o intervalo da lista entre a fila de cabeceira e a fila de inserción.

Os pasos sobre como pode pasar por cada cela en cada fila. A continuación indícanse unha táboa por valor de cela co DataBodyRange en VBA Excel.

Pasos:

  • Como se mostra antes, abre o Editor de Visual Basic desde a pestana Desenvolvedor e Insire un Módulo na xanela de código.
  • A continuación , copie o seguinte código e pégueo na xanela do código.
1549

O seu código xa está listo para executarse.

  • Máis tarde, Executa a macro e mira o seguinte gif para ver a saída.

Haberá unha ventá emerxente MsgBox mostrándoche o valor transportado por cada cela de cada fila da táboa da túa folla de Excel.

Explicación do código VBA

8486

Define a variable.

5058

Este fragmento de código comeza primeiro a pasar por filas da táboa (" TblStdnt " é o nome da nosa táboa) e devolve un intervalo de valores excluíndo a fila de cabeceira da táboa. A continuación, pase o valor do intervalo en MsgBox. Despois pasa á seguinte fila para extraer o intervalo e continúa o proceso de iteración ata a última fila.

3. Aplicar macro VBA para iterar a través de filas concatenando columnas en Excel

Esta sección mostrará como recorrer filas nunha táboa concatenando as columnas coa primeira columna do seu conxunto de datos en Excel.

Por exemplo, para o noso conxunto de datos, primeiro iteraremos John na cela B5 e 101 na cela C5 concatenándoos e despois iteraremos John na cela B5 e 89 na cela D5 concatenándoos desde fila 5 .

Déixanos mostrar como podes facelo con Macro VBA en Excel.

Pasos:

  • Ao principio, abra Editor de Visual Basic desde o Pestana Desenvolvedor e Insira un Módulo na xanela do código.
  • En segundo lugar, na xanela do código, copie o seguinte códigoe pégao .
2854

O teu código xa está listo para executarse.

  • En terceiro lugar, Executar a macro. Mira o gif de abaixo para ver o resultado.

Haberá unha ventá emerxente MsgBox que che mostrará o valor concatenado das celas da primeira e da segunda columna ( Xoán na cela B5 da columna B e 101 na cela C5 da columna C ) e despois o valor concatenado das celas da primeira e da terceira columna ( Xoán na cela B5 da columna B e 89 na cela D5 da columna D ) da fila número 5 do seu conxunto de datos. E esta operación de concatenación continuará ata chegar á última fila da táboa.

Explicación do código VBA

3877

Define a variable.

2360

Entón o código selecciona a táboa da folla activa (“ TblConcatenate ” no nome da nosa táboa).

7742

Despois diso, comeza a iterar cada fila excluíndo a cabeceira de a columna. Se a iteración atopa unha coincidencia no intervalo entre a cabeceira da columna e as filas, entón almacena o valor na variable iValue .

8731

Se non se cumpre a condición anterior, entón o código arroxa o valor no MsgBox e remata a condición. Despois diso, pasa ao bucle noutro rango e continúa iterando ata a fila final. Unha vez que chega á fila final, a macro remata a execución do código.

4. Incrustar macro para iterara través de filas concatenando todas as columnas dunha táboa en Excel

Nesta sección, aprenderemos a concatenar todas as columnas que contén cada fila no conxunto de datos con Macro VBA en Excel.

Os pasos para executar que se mostran a continuación.

Pasos:

  • Primeiro, abra Editor de Visual Basic desde a pestana Desenvolvedor e Insira un Módulo na xanela do código.
  • A continuación, copia o seguinte código e pégao na xanela do código.
9715

O teu código xa está listo para executarse.

  • A continuación, Executar o código macro.

Como podes ver no gif anterior é que hai unha ventá emerxente MsgBox que che mostra o valor concatenado de todas as columnas que residen en cada fila da táboa da túa folla de cálculo de Excel.

Explicación do código VBA

1746

Define as variables.

9781

Establece o nome da folla co que traballaremos (" ConcatenatingAllCol " é o nome da folla no caderno de traballo).

2777

De defina o nome da táboa co que traballaremos (“ TblConcatenateAll ” é o nome da táboa no noso conxunto de datos).

8892

Inicia a iteración por cada fila da táboa.

6791

Comeza a iteración a través de cada columna de cada fila da táboa.

6247

Almacenar o resultado intersectando os valores que leva cada columna de cada fila. Despois de escanear todas as columnas que residen en cada fila, pasou oresultado no MsgBox. Despois comeza de novo a realizar un bucle na seguinte fila e continúa ata que chega á última fila da táboa.

Ler máis: Como ordenar varias columnas dunha táboa con Excel VBA (2 Métodos)

5. Deter a iteración se se atopa o valor facendo un bucle por filas dunha táboa con macro VBA

Supoña que quere recorrer as filas da súa táboa e deter o bucle cando atope un valor específico . Podes facelo só cun simple código de macro.

Aprendemos como facelo VBA en Excel.

Pasos:

  • Ao principio, abra Editor de Visual Basic desde a pestana Desenvolvedor e Insira un Módulo na xanela do código.
  • A continuación, na xanela do código, copia o seguinte código e pegao .
4662

O teu código xa está listo para executarse .

  • Máis tarde, Executar a macro.
  • Iniciará o bucle e deterao cando atopa o valor específico (" Edge ") no intervalo e arroxa o resultado no MsgBox .

Como podes ver na imaxe superior, hai un MsgBox emerxente que che mostra o enderezo da cela , $B$10 , onde atopamos o valor especificado, Edge .

Explicación do código VBA

8726

Defina o variable.

9776

Este fragmento de código está aquí para recorrer as filas da 1 á 15. Se atopa a palabra específica" Edge " entón pasa o resultado co enderezo da cela que contén a palabra. Continúa facendo isto ata que remate de escanear todos os datos desde as filas 1 ata a 15 na procura da palabra.

Ler máis: Como inserir ou eliminar filas e columnas da táboa de Excel

6. VBA para recorrer cada fila e colorear un valor específico en Excel

Que pasa se non queres lanzar o enderezo da cela do valor especificado no MsgBox? Quizais queira colorear a cela que leva o valor que está a buscar.

Aprendemos como facelo coa macro VBA .

Pasos:

  • Do mesmo xeito que antes, abra o Editor de Visual Basic desde a pestana Desenvolvedor e Inserir un Módulo na xanela do código.
  • A continuación, copie o seguinte código e pégueo na xanela do código.
3751

O teu código xa está listo para executarse.

  • Despois diso, Executa a macro.
  • Iniciará o bucle e deterao cando atope o valor específico (" Edge ") no intervalo e coloreará a cela co ColourIndex que proporcionaches no código.

Como podes ver na imaxe superior, C ell B10 , onde atopamos o valor especificado, " Edge " ten cor despois da execución do código.

Explicación do código VBA

5375

Defina o

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.