VBA per recórrer les files de la taula a Excel (11 mètodes)

  • Comparteix Això
Hugh West

Quan tenim un conjunt de dades gran al nostre llibre de treball d'Excel, de vegades és convenient que podem recórrer les files per extreure els resultats específics que volem obtenir. La implementació de VBA és el mètode més eficaç, ràpid i segur per executar qualsevol operació a Excel. En aquest article, us mostrarem 11 mètodes diferents sobre com recórrer les files d'una taula a Excel amb la macro VBA .

Descarregueu el llibre de treball

Podeu descarregar el quadern d'Excel de pràctica gratuïta des d'aquí.

Recorreu les files de la taula amb VBA.xlsm

11 mètodes amb VBA per recórrer les files d'una taula a Excel

Després d'aquesta secció, aprendràs a recórrer les files d'una taula amb 11 mètodes diferents, com ara fer un bucle per les files fins a una cel·la en blanc, fer un bucle per les files fins que es trobi un valor específic, fer un bucle per les files i acolorir una cel·la específica, etc. amb la macro VBA a Excel.

A dalt hi ha el conjunt de dades d'exemple que seguirà aquest article per descriure els mètodes.

1. Incrusta VBA per recórrer cada cel·la de cada fila d'una taula per número de referència de cel·la

Si vols recórrer cada cel·la de cada fila d'una taula del teu full de treball Excel i obteniu el número de referència de la cel·la com a valor de retorn i, a continuació, seguiu els passos que es descriuen a continuació.

Passos:

  • Al principi , premeu Alt + F11 al teclat o aneuvariable.
9535

Aquest fragment de codi està aquí per fer un bucle per les files de l'1 a la 15. Si troba la paraula específica " Edge ", aleshores acoloreix la cel·la que conté la paraula. Continua fent-ho fins que acabi d'escanejar totes les dades de les files 1 a 15 a la recerca de la paraula.

Llegir més: Com utilitzar la matriu de taules VLOOKUP basada en Valor de la cel·la a Excel

Lectures similars

  • Existeix la funció TABLE a Excel?
  • Com convertir una taula a una llista a Excel (3 maneres ràpides)
  • Convertir un rang a una taula a Excel (5 mètodes fàcils)
  • Utilitzeu la fórmula en una taula d'Excel de manera eficaç (amb 4 exemples)
  • Nom de la taula d'Excel: tot el que necessiteu saber

7. Implementeu VBA per recórrer cada fila i acolorir cada fila estranya a Excel

A partir de la secció anterior, hem après a acolorir una cel·la que porta un valor específic. En aquesta secció, aprendrem a recórrer cada fila d'una taula i acolorir cada fila senar amb la macro VBA a Excel.

Passos per executar el procés es descriuen a continuació.

Passos:

  • Com es mostra abans, obriu Visual Basic Editor des del Desenvolupador i Inseriu un mòdul a la finestra del codi.
  • A continuació, copieu el codi següent i enganxeu-lo a la finestra del codi.
4412

El vostre codi ja està a punt per executar-se.

  • Ara, Executeu la macro i mireu la imatge següent per veure la sortida.

Totes les files senars tenen color després de fer un bucle per totes les files que resideixen a la taula del full de treball.

Explicació del codi VBA

6741

Definiu la variable.

9499

Definiu l'interval amb el qual treballarem.

3026

Aquesta part del codi fa referència a la iteració a través de totes les files, començant des de la següent fila de la fila actual, B4 . Si el mod de dividir els números de fila per 2 és igual al número de fila retornat emmagatzemat en un tipus d'enter, aquest codi colorea totes les files que s'extreuen mitjançant el càlcul amb l'índex de color proporcionat al codi. Continua movent-se per totes les files fins que arriba al final del rang.

8. Implementeu VBA per recórrer les files i acolorir cada fila parell a Excel

A la secció anterior, hem après a acolorir cada fila senar d'una taula. En aquesta secció, aprendrem a recórrer cada fila d'una taula i acolorir cada fila parell amb la macro VBA a Excel.

A continuació es descriuen els passos per executar el procés.

Passos:

  • Primer, obriu Visual Basic Editor des de la pestanya Desenvolupador i Insereix un Mòdul a la finestra del codi.
  • A continuació, copieu el codi següent i enganxeu-lo a la finestra del codi.
2376

El vostre codi ja està a puntexecuta.

  • A continuació, executa la macro i mira la imatge següent per veure'n el resultat.

Totes les files parelles s'acoloreixen després de fer un bucle per totes les files que resideixen a la taula del full de treball.

Explicació del codi VBA

7742

Definiu la variable.

1400

Definiu l'interval amb el qual treballarem.

5457

Aquest fragment de codi comença a iterar després les tres files de la fila actual, B4 . Primer l'acoloreix, després augmenta el nombre de files en 2 i el segueix pintant fins que arriba a l'última fila del conjunt de dades.

9. Apliqueu una macro per iterar a través de les files fins a una cel·la en blanc a Excel

Si voleu que el vostre codi funcioni com si fos passarà per totes les files de la taula i s'aturarà quan arribi a una cel·la en blanc , llavors aquesta secció és per a tu. Podeu executar aquesta tasca amb el FOR Loop i el Do-Until Loop a Excel VBA .

9.1. Amb el bucle FOR

Pasos per recórrer les files d'una taula fins que a continuació es mostri una cel·la en blanc amb bucle FOR a VBA Excel.

Pasos:

  • Al principi, obriu Visual Basic Editor des de la pestanya Desenvolupador i Insereix un Mòdul a la finestra del codi.
  • Després, copieu el codi següent i pegueu-lo a la finestra del codi.
2339

El vostre codi ja està a punt per executar-se.

  • A continuació, Executeu elmacro i el resultat es mostra al gif següent.

Després d'executar la macro, va va començar a recórrer totes les files de la taula i un cop va arribar a la cel·la en blanc, cel·la B8 , va aturar la iteració .

Explicació del codi VBA

8710

Definiu la variable.

3152

Desactiveu l'esdeveniment d'actualització de la pantalla.

7343

Deseu totes les files des de la Cel·la B4 fins a l'última.

2914

Seleccioneu Cel·la B4 .

9318

Aquest fragment de codi comença a passar per totes les files. Quan troba una cel·la buida en una fila, la selecciona i continua explorant les files fins que arriba al final.

8602

Activeu l'esdeveniment d'actualització de la pantalla.

9.2. Amb Do-Until Loop

Pasos per recorrer les files fins que a continuació es mostri una cel·la en blanc amb Do-Until bucle a VBA .

Pasos:

  • Primer, obriu Visual Basic Editor des de la pestanya Desenvolupador i Inseriu un Mòdul a la finestra del codi.
  • A continuació, copieu el codi següent i enganxeu-lo a la finestra del codi.
3039

El vostre codi ja està a punt per executar-se.

  • Més tard, Executeu la macro. El resultat es mostra al gif següent.

Després d'executar la macro, va començar a recórrer totes les files de la taula i una vegada va arribar a cel·la en blanc, cel·la B8 , va aturar la iteració .

Codi VBAExplicació

Dim iListRow As ListRow Dim iCol As Range

Seleccioneu la cel·la des de la qual treballarem.

5134

Comença i continua fent un bucle fins que es troba una cel·la buida.

4787

Quan hi ha una cel·la buida. trobat en una fila i després seleccioneu-lo i atureu la iteració.

10. Macro VBA per iterar a través de files fins a diverses cel·les en blanc a Excel

A la secció anterior, heu après com aturar el bucle quan es troba una cel·la buida. Però què passa si no voleu aturar la iteració fins que es trobin diverses cel·les en blanc en lloc d'una sola.

Els passos per recorrer les files fins que es trobin diverses cel·les en blanc en una taula amb VBA Excel es mostren a continuació.

Passos:

  • Primer, obriu Visual Basic Editor des del Pestanya Desenvolupador i Inseriu un mòdul a la finestra del codi.
  • A continuació, copieu el codi següent i enganxeu-lo a la finestra del codi.
5746

El vostre codi ja està a punt per executar-se.

  • Ara, Executeu la macro i vegeu el gif següent per a la sortida.

Després d'executar la macro, no es va aturar a la primera cel·la en blanc, cel·la B8 . Es va aturar quan va trobar dues cel·les en blanc consecutives a la cel·la B16 .

Explicació del codi VBA

3014

Seleccioneu la cel·la des del qual treballarem.

1585

Comença i continua fent un bucle fins que es troben dues cel·les buides consecutives.

7542

Quan es troben dues cel·les buides consecutives, aleshoresseleccioneu-lo i atureu la iteració.

11. Incrusta VBA per fer un bucle a través de files concatenant totes les columnes fins que estiguin en blanc a Excel

Aquesta secció us mostrarà com recorreu totes les files d'una taula i concatenar totes les columnes fins a una cel·la en blanc. es troba amb VBA Excel.

Aprendrem a fer-ho amb la macro VBA a Excel.

Passos:

  • Al principi, obriu Visual Basic Editor des de la pestanya Desenvolupador i Insereix un mòdul a la finestra del codi.
  • A continuació, copieu el codi següent i enganxeu-lo a la finestra del codi.
9610

El vostre codi ara està a punt per executar-se.

  • Més endavant, Executeu la macro i consulteu el següent gif per veure'n el resultat.

Com podeu veure al gif anterior és que hi ha una finestra emergent MsgBox que us mostra el valor concatenat de totes les columnes que resideixen a cada fila de la taula del vostre full de treball Excel. Però es va aturar un cop arribava a la cel·la en blanc .

Explicació del codi VBA

9185

Definiu les variables.

2861

Definiu el nom del full amb el qual treballarem (“ ConcatenatingAllColUntilBlank ” és el nom del full al llibre de treball).

5366

Definiu l'interval amb el qual treballarem.

7830

Aquest fragment de codi inicia el bucle amb la matriu. Continua fent un bucle fins que retorna el subíndex més gran de la matriu i el límit inferior de la matriuprimera dimensió. A continuació, entra en la iteració d'extreure el límit inferior de la segona dimensió. Després d'això, passa tots els valors extrets a la variable iResult concatenant-los i llançant el resultat al MsgBox. Continua fent-ho fins que troba una cel·la buida.

Conclusió

Per concloure, aquest article us va mostrar 11 mètodes efectius sobre com recorrer les files. d'una taula a Excel amb la macro VBA . Espero que aquest article us hagi estat molt profitós. No dubteu a fer qualsevol pregunta sobre el tema.

a la pestanya Desenvolupador -> Visual Basicper obrir Visual Basic Editor.

  • A continuació, a la finestra de codi emergent, des del barra de menú, feu clic a Insereix -> Mòdul .

  • A continuació, copieu el codi següent i pegueu-lo al codi finestra.
5120

El vostre codi ja està a punt per executar-se.

  • Ara, premeu F5 al vostre teclat o des de la barra de menú seleccioneu Executar -> Executeu Sub/UserForm . També podeu fer clic a la icona de reproducció petita de la barra del submenú per executar la macro.

  • O bé per presenciar i comparar visualment el conjunt de dades i el resultat, podeu desar el codi i tornar al full de treball d'interès.
  • Des d'allà, podeu fer clic a Macros a la pestanya Desenvolupador , seleccioneu el nom de la macro i, a continuació, feu clic a Executar .

Després de l'execució correcta del codi, mireu el gif anterior per veure el resultat. Hi haurà una finestra emergent MsgBox que us mostrarà el número de referència de cada cel·la de cada fila de la taula del vostre full d'Excel.

Explicació del codi VBA

6748

Per obtenir l'últim número de fila de la taula cercant la columna B.

7259

Definiu la fila número 4, des d'on comencen les nostres dades.

8330

Per fer un bucle des de la primera fila.

2889

Definiu la columna número 2, des d'on comencen les nostres dades.

6247

Comenceu a recórrer les files per obtenir l'últimanúmero de columna avaluant la fila actual fins a l'última fila.

5049

Incrementa en bucle la columna des de la primera fila fins a l'última fila.

4558

Aquest fragment de codi funciona per processar, augmentar després de cada un. iteració i mostrar el resultat del codi.

Llegir més: Com afegir una fila nova automàticament en una taula d'Excel

2 . Implementeu VBA per recórrer cada cel·la de cada fila per valor

Si voleu recórrer cada cel·la de cada fila d'una taula i llançar el valor que resideix a les cel·les com a valor de retorn , aleshores aquesta secció us ajudarà a esbrinar com fer-ho amb VBA Excel.

Ho podeu fer amb el ListObject i amb el DataBodyRange propietat de VBA . Us mostrarem el codi macro tant amb l'objecte com amb la propietat.

2.1. Amb el ListObject

A continuació es donen els passos per recórrer cada cel·la de cada fila d'una taula per valor de cel·la amb ListObject a VBA Excel.

Pasos:

  • De la mateixa manera que abans, obriu Visual Basic Editor des de la pestanya Desenvolupador i Inseriu un mòdul a la finestra del codi.
  • A continuació, a la finestra del codi, copieu el codi següent i enganxeu
6853

El vostre codi ja està a punt per executar-se.

  • Després, Executeu la macro com us vam mostrar a la secció anterior. El resultat es mostra al gifa continuació.

Hi haurà una finestra emergent MsgBox que us mostrarà el valor transportat per cada cel·la de cada fila de la taula del vostre full d'Excel.

Explicació del codi VBA

5795

Definiu les variables.

2305

Aquesta peça del codi primer comença a passar per les files de la taula (" TblStudents " és el nom de la nostra taula). A continuació, introdueix columnes per a cada fila. Després d'això, passeu el valor de la cel·la a MsgBox. A continuació, aneu a la columna següent. Després d'acabar d'iterar totes les columnes d'una fila, passa a la següent fila i continua el procés d'iteració fins a l'última fila.

2.2. Amb la propietat DataBodyRange

Per ser més específic amb les dades extretes de la taula, podeu utilitzar la propietat DataBodyRange de ListObject . La propietat DataBodyRange us mostrarà el resultat que conté l'interval de la llista entre la fila de capçalera i la fila d'inserció.

Els passos sobre com podeu recórrer cada cel·la de cada fila. d'una taula per valor de cel·la amb el DataBodyRange a VBA Excel es mostren a continuació.

Passos:

  • Com es mostra abans, obriu Visual Basic Editor des de la pestanya Desenvolupador i Inseriu un mòdul a la finestra del codi.
  • A continuació , copieu el codi següent i enganxeu-lo a la finestra del codi.
1768

El vostre codi ja està a punt per executar-se.

  • Més tard, Executeu la macro i mireu el gif següent per veure la sortida.

Hi haurà una finestra emergent MsgBox que us mostra el valor transportat per cada cel·la de cada fila de la taula del vostre full d'Excel.

Explicació del codi VBA

8992

Definiu la variable.

3889

Aquest fragment de codi comença primer a circular per les files de la taula (“ TblStdnt ” és el nom de la nostra taula) i retorna un rang de valors excloent la fila de capçalera de la taula. A continuació, passeu el valor de l'interval a MsgBox. A continuació, passa a la següent fila per extreure l'interval i continua el procés d'iteració fins a l'última fila.

3. Apliqueu una macro VBA per iterar a través de files concatenant columnes a Excel

Aquesta secció mostrarà com recorrer les files d'una taula concatenant les columnes amb la primera columna del vostre conjunt de dades a Excel.

Per exemple, per al nostre conjunt de dades, primer, repetirem John a la cel·la B5 i 101 a la cel·la C5 concatenant-los i després iterant-los. John a la cel·la B5 i 89 a la cel·la D5 concatenant-los des de la fila 5 .

Permeteu-vos mostrar com podeu fer-ho amb Macro VBA a Excel.

Passos:

  • Al principi, obriu Visual Basic Editor des de Pestanya Desenvolupador i Inseriu un Mòdul a la finestra del codi.
  • En segon lloc, a la finestra del codi, copieu el següent codii enganxeu-lo .
1423

El vostre codi ja està a punt per executar-se.

  • En tercer lloc, Executeu la macro. Mireu el gif següent per veure el resultat.

Hi haurà una finestra emergent MsgBox que us mostrarà el valor concatenat de les cel·les de la primera i la segona columna ( Joan a la cel·la B5 de la columna B i 101 a la cel·la C5 de la columna C ) i després el valor concatenat de les cel·les de la primera i la tercera columna ( Joan a la cel·la B5 de la columna B i 89 a la cel·la D5 de la columna D ) de fila número 5 del vostre conjunt de dades. I aquesta operació de concatenació continuarà fins que arribi a l'última fila de la taula.

Explicació del codi VBA

3440

Definiu la variable.

6230

A continuació, el codi selecciona la taula del full actiu (" TblConcatenate " al nom de la nostra taula).

6196

Després d'això, comença a iterar cada fila excloent la capçalera de la columna. Si la iteració troba una coincidència a l'interval entre la capçalera de la columna i les files, llavors emmagatzema el valor a la variable iValue .

3972

Si la condició anterior no es compleix, aleshores el codi llança el valor al MsgBox i acaba la condició. Després d'això, passa al bucle en un altre rang i continua iterant fins a la fila final. Un cop arriba a la fila final, la macro finalitza l'execució del codi.

4. Incrusta la macro per iterara través de files concatenant totes les columnes d'una taula a Excel

En aquesta secció, aprendrem a concatenar totes les columnes que conté cada fila al conjunt de dades amb Macro VBA a Excel.

Els passos a executar que es mostren a continuació.

Pasos:

  • Primer, obriu Editor de Visual Basic des de la pestanya Desenvolupador i Insereix un mòdul a la finestra del codi.
  • A continuació, copieu el codi següent i enganxeu-lo a la finestra del codi.
8825

El vostre codi ja està a punt per executar-se.

  • A continuació, Executeu el codi de la macro.

Com podeu veure al gif anterior és que hi ha una finestra emergent MsgBox que us mostra el valor concatenat de totes les columnes que resideixen a cada fila de la taula del vostre full de treball d'Excel.

Explicació del codi VBA

6397

Definiu les variables.

2831

Definiu el nom del full amb el qual treballarem (" ConcatenatingAllCol " és el nom del full al llibre de treball).

3877

De definir el nom de la taula amb què treballarem (" TblConcatenateAll " és el nom de la taula del nostre conjunt de dades).

5101

Comença la iteració a través de cada fila de la taula.

7985

Comença la iteració a través de cada columna de cada fila de la taula.

2331

Es emmagatzema el resultat tallant els valors que porta cada columna de cada fila. Després d'escanejar totes les columnes que resideixen a cada fila, va passarresultat al MsgBox. A continuació, torna a començar a fer un bucle a la fila següent i continua fent un bucle fins que arriba a l'última fila de la taula.

Llegir més: Com ordenar diverses columnes d'una taula amb Excel VBA (2 mètodes)

5. Atura la iteració si el valor es troba fent un bucle per les files d'una taula amb una macro VBA

Suposem que voleu recórrer les files de la vostra taula i aturar el bucle quan trobi un valor específic . Podeu fer-ho només amb un codi de macro senzill.

Aprendrem a fer-ho VBA a Excel.

Passos:

  • Al principi, obriu Visual Basic Editor des de la pestanya Desenvolupador i Insereix un mòdul a la finestra del codi.
  • A continuació, a la finestra del codi, copieu el codi següent i pegueu-lo .
7923

El vostre codi ja està a punt per executar-se .

  • Més endavant, Executeu la macro.
  • Aquest iniciarà el bucle i l'aturarà quan troba el valor específic (" Edge ") a l'interval i llança el resultat al MsgBox .

Com podeu veure a la imatge de dalt, hi ha un missatge emergent que us mostra l'adreça de la cel·la , $B$10 , on hem trobat el valor especificat, Edge .

Explicació del codi VBA

1456

Definiu el variable.

4239

Aquest fragment de codi està aquí per fer un bucle per les files de l'1 a la 15. Si troba la paraula específica" Edge " després passa el resultat amb l'adreça de la cel·la que conté la paraula. Continua fent-ho fins que acaba d'escanejar totes les dades de les files 1 a 15 a la recerca de la paraula.

Llegir més: Com inserir o suprimir files i columnes de la taula d'Excel

6. VBA per recórrer cada fila i pintar un valor específic a Excel

Què passa si no voleu llançar l'adreça de la cel·la del valor especificat al MsgBox? És possible que vulgueu colorir la cel·la que porta el valor que esteu cercant.

Aprendrem a fer-ho amb la macro VBA .

Pasos:

  • De la mateixa manera que abans, obriu Editor de Visual Basic des de la pestanya Desenvolupador i Insereix un Mòdul a la finestra del codi.
  • A continuació, copieu el codi següent i enganxeu-lo a la finestra del codi.
4787

El vostre codi ja està a punt per executar-se.

  • Després, Executeu la macro.
  • iniciarà el bucle i l'aturarà quan trobi el valor específic (“ Bord ”) al rang i acoloreix la cel·la amb el ColourIndex. que heu proporcionat al codi.

Com podeu veure a la imatge de dalt, C ell B10 , on hem trobat el valor especificat, " Edge " té color després de l'execució del codi.

Explicació del codi VBA

9303

Definiu el

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.