VBA XLUP | Com utilitzar VBA XLUP a Excel? (amb exemples)

Excel VBA XLUP

Una cosa que heu de tenir en compte mentre escriviu el codi VBA és el que feu amb el full de càlcul habitual i també podeu reproduir el mateix a VBA. Una d'aquestes paraules clau a la codificació VBA és "XLUP", en aquest article us mostrarem què és aquesta paraula clau a la codificació VBA i com utilitzar-la a la codificació.

Com utilitzar VBA XLUP a la codificació?

Els següents són els exemples d’excel VBA XLUP.

Podeu descarregar aquesta plantilla Excel VBA XLUP aquí - Plantilla Excel VBA XLUP

Exemple 1: moveu les cel·les a la posició suprimida de les cel·les

Per exemple, mireu l'escenari de les dades següents, on heu de suprimir les dades de les cel·les de colors i, més amunt, les dades de les files següents a les dades anteriors.

Una forma d’eliminar-ho al full de càlcul és seleccionar aquelles cel·les en què simplement podem eliminar tota la fila. Però aquí les situacions són poc complicades perquè tinc cel·les de colors a la Taula 1 quan suprimim tota la fila, fins i tot les files de la Taula 2 també se suprimeixen, però no volem que això passi, només hem de suprimir files de colors i les cel·les de sota es mourien augmenta la posició de les cel·les suprimides.

Primer, seleccioneu les cel·les de colors i premeu Ctrl + Símbol menys (-) per obrir l’opció “Suprimeix”.

Tecla de drecera per obrir l'opció "Suprimeix"

A la finestra d’opcions d’eliminació, tenim quatre opcions; podem triar l’acció segons el nostre requisit. Com que hem de moure les cel·les cap amunt per obtenir el positó de les cel·les suprimides, trieu "Canvia la cel·la cap amunt".

Tindrem files de la taula 2 sense canvis.

Aquesta acció a VBA requereix l'ús de la propietat "XLUP" per dur a terme un conjunt similar d'accions a VBA. Ara aneu a la finestra de l'editor VBA i inicieu el nom de la vostra macro.

Codi:

 Sub XLUP_Exemple () Final Sub 

Primer subministreu la cèl·lula RANGE que s’inclourà en aquesta operació. En aquesta acció, les primeres cel·les que s'han de suprimir i moure cap amunt són les cel·les "A5: B5".

Codi:

 Sub XLUP_Example () Interval ("A5: B5") Final Sub 

Per a aquest interval de cel·les, seleccioneu el mètode "Suprimeix".

Codi:

 Sub XLUP_Example () Interval ("A5: B5"). Suprimeix Sub Sub 

Com podeu veure pel mètode "Suprimeix", tenim un argument opcional com a [Maj], per a aquest argument cal introduir-lo com a "XLUP".

Codi:

 Sub XLUP_Example () Interval ("A5: B5"). Suprimeix el canvi: = xlUp Final Sub 

Ara podeu executar aquest codi manualment o mitjançant la tecla de drecera Excel F5, per veure el resultat.

Com podeu veure a la taula 1, tenim la fila número 6 moguda fins a la cinquena fila i, d'altra banda, la taula, la fila 2 (de color) no es modifica, de manera que mitjançant l'opció "VBA XLUP" podem fer aquesta operació.

Exemple # 2: cerqueu l'última fila utilitzada mitjançant XLUP

Imagineu una situació en què us trobeu a la cel·la A20 (vegeu la imatge següent) i la vostra última cel·la utilitzada és A14.

Ara bé, si voleu triar l'última cel·la utilitzada (A14). com ho faràs fent servir una tecla de drecera ???

Utilitzaríem Ctrl + Fletxa amunt tecla per passar a la darrera cel·la utilitzada des de la posició actual.

Tecla de drecera per passar a l'última cel·la utilitzada

Per tant, des de la cel·la actual, Ctrl + fletxa amunt va seleccionar l’última cel·la utilitzada. De la mateixa manera, a la codificació VBA que fem servir FINAL (XLUP) per realitzar el mateix.

Ara torneu a la finestra de codificació VBA.

En aquesta finestra, realitzarem la tasca de trobar l'última fila utilitzada al full de treball. Creeu un subprocediment nou a la finestra VBA.

Codi:

 Sub XLUP_Exemple1 () Final Sub 

Per emmagatzemar l'últim número de fila utilitzat. definiu la variable com el tipus de dades VBA LONG.

Codi:

 Subexemple XLUP_Exemple1 () Atenueu el número_fila_número com a subfin 

Ara, per a aquesta variable, assignarem l’últim número de fila utilitzat.

Codi:

 Sub XLUP_Exemple1 () Dim Last_Row_Number As Long Last_Row_Number = Final Sub 

Ara utilitzeu l'objecte RANGE i obriu aquest objecte.

Codi:

 Sub XLUP_Exemple1 () Dism. Last_Row_Number As Long Last_Row_Number = Range (Final Sub 

Ara mencioneu la cel·la activa (A20) per a GAMA objecte.

Codi:

 Sub XLUP_Exemple1 () Atenueu Last_Row_Number com a llarg abast ("A14"). Seleccioneu Last_Row_Number = Range ("A20") Finalitzeu sub 

Ara obriu la propietat END per a la cel·la d'abast subministrada.

Codi:

 Sub XLUP_Exemple1 () Atenueu Last_Row_Number com a llarg abast ("A14"). Seleccioneu Last_Row_Number = Range ("A20"). Final (End Sub 

Com podeu veure més amunt, hem d'opcions de tecles de fletxa com "xlDown", "xlToLeft", "xlToRight", "xlUp". Com que avancem de la cel·la A14, trieu l'opció "VBA XLUP".

Codi:

 Sub XLUP_Exemple1 () Atenueu Last_Row_Number com a llarg abast ("A14"). Seleccioneu Last_Row_Number = Range ("A20"). End (xlUp) End Sub 

Després de passar de la cel·la A14, hem d’esmentar què hem de fer, ja que necessitem l’últim número de fila utilitzat. Utilitzaré la propietat ROW.

Codi:

 Sub XLUP_Exemple1 () Atenueu Last_Row_Number com a llarg abast ("A14"). Seleccioneu Last_Row_Number = Range ("A20"). Final (xlUp). 

Ara, per al quadre de missatge, assigneu el valor de variable "Last_Row_Number".

Codi:

 Sub XLUP_Exemple1 () Atenueu Last_Row_Number com a llarg abast ("A14"). Seleccioneu Last_Row_Number = Range ("A20"). Final (xlUp). Fila MsgBox Last_Row_Number Final Sub 

Ara podeu executar aquest codi manualment o mitjançant la tecla de drecera F5, per veure el resultat.

Per tant, el quadre de missatge que mostra l’últim número de fila utilitzat com a 14, de manera que la nostra darrera dada que es fa servir és la cel·la A14

En aquest cas, atès que les dades són molt petites, hem començat a partir de la cèl·lula A20, però quan les dades són grans no podem dir quina cèl·lula hem de tenir en compte primer, en aquests casos hem d’emprar una tècnica diferent.

Hem d’utilitzar la propietat CELLS, a continuació es mostra l’exemple de la mateixa.

Codi:

 Sub XLUP_Exemple2 () Dim Last_Row_Number As Long Last_Row_Number = Cel·les (Rows.Count, 1). End (xlUp) .Row MsgBox Last_Row_Number End Sub 

Ara podeu executar aquest codi manualment o mitjançant la tecla de drecera F5, per veure el resultat.

En lloc d’un objecte RANGE, he utilitzat la propietat CELLS. Deixeu-me explicar-vos-ho en detall.

FILA.COMPTE això comptarà quantes files hi ha a la columna 1. El que farà això és que es tindrà en compte l’última cel·la del full de treball en lloc de l’adreça de cel·la aleatòria, en el cas anterior hem utilitzat A14 com a adreça de cel·la aleatòria.

Coses que cal recordar sobre VBA XLUP

  • XLUP és la paraula que s'utilitza al codi VBA per reproduir l'acció de la tecla "Fletxa amunt" a Excel.
  • VBA XLUP s’utilitza per passar de cel·les actives a la cel·la anterior o a la darrera cel·la utilitzada.
  • XLUP s'utilitza generalment juntament amb la propietat END a VBA.