Taula de continguts
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