Com sabeu, un mètode VBA realitza una acció a Excel 2016. Un objecte Range té desenes de mètodes, però no en necessitareu la majoria. Aquí trobareu alguns dels mètodes d'objecte Range més utilitzats.
El mètode Select
Utilitzeu el mètode Selecciona per seleccionar un interval de cel·les. La instrucció següent selecciona un interval al full de treball actiu:
Interval ("A1:C12").Seleccioneu
Abans de seleccionar un interval, sovint és una bona idea utilitzar una declaració addicional per assegurar-se que el full de treball correcte està actiu. Per exemple, si Sheet1 conté l'interval que voleu seleccionar, utilitzeu les declaracions següents per seleccionar l'interval:
Fulls ("Full 1"). Activar
Interval ("A1:C12").Seleccioneu
Contràriament al que podríeu esperar, la següent instrucció genera un error si Sheet1 encara no és el full actiu. És a dir, cal utilitzar dues declaracions en lloc d'una sola: una per activar el full i una altra per seleccionar l'interval.
Fulls(“Full1”).Rang(“A1:C12”).Seleccioneu
Si utilitzeu el mètode GoTo de l'objecte Aplicació per seleccionar un interval, primer podeu oblidar-vos de seleccionar el full de treball correcte. Aquesta declaració activa Sheet1 i després selecciona l'interval:
Aplicació. Anar a Fulls ("Full1"). Interval ("A1:C12")
El mètode GoTo és l'equivalent a VBA de prémer F5 a Excel, que mostra el quadre de diàleg GoTo.
Els mètodes de copiar i enganxar
Podeu realitzar operacions de copiar i enganxar a VBA mitjançant els mètodes de copiar i enganxar. Tingueu en compte que entren en joc dos objectes diferents. El mètode Copy s'aplica a l'objecte Range, però el mètode Paste s'aplica a l'objecte Worksheet. De fet, té sentit: copieu un interval i l'enganxeu a un full de treball.
Aquesta macro breu (cortesia de la gravadora de macros) copia el rang A1:A12 i l'enganxa al mateix full de treball, començant a la cel·la C1:
Sub CopyRange()
Interval ("A1:A12").Seleccioneu
Selecció.Còpia
Interval ("C1").Seleccioneu
ActiveSheet.Paste
End Sub
Observeu que a l'exemple anterior, l'objecte ActiveSheet s'utilitza amb el mètode Paste. Aquesta és una versió especial de l'objecte Worksheet que fa referència al full de treball actiu actualment. Observeu també que la macro selecciona l'interval abans de copiar-lo. Tanmateix, no cal que seleccioneu un interval abans de fer-hi alguna cosa. De fet, el procediment següent realitza la mateixa tasca que l'exemple anterior utilitzant una sola instrucció:
Sub CopyRange2()
Interval ("A1:A12"). Copia l'interval ("C1")
End Sub
Aquest procediment aprofita el fet que el mètode Copy pot utilitzar un argument que correspon a l'interval de destinació de l'operació de còpia. Això és una cosa que podeu esbrinar consultant amb el sistema d'ajuda.
El mètode Clear
El mètode Clear elimina el contingut d'un interval, a més de tot el format de cel·la. Per exemple, si voleu eliminar-ho tot a la columna D, la declaració següent fa el truc:
Columnes ("D:D"). Esborrar
Heu de tenir en compte dos mètodes relacionats. El mètode ClearContents elimina el contingut de l'interval però deixa intacte el format. El mètode ClearFormats elimina el format de l'interval però no el contingut de la cel·la.
El mètode Delete
Esborrar un interval és diferent de suprimir un interval. Quan suprimiu un interval, Excel desplaça les cel·les restants per omplir l'interval que heu suprimit.
L'exemple següent utilitza el mètode Delete per suprimir la fila 6:
Files ("6:6"). Suprimeix
Quan suprimiu un interval que no és una fila o una columna completa, Excel necessita saber com moure les cel·les. (Per veure com funciona això, experimenteu amb l'ordre Inici → Cel·les → Suprimeix → Elimina les cel·les d'Excel.)
La declaració següent suprimeix un interval i després omple el buit resultant desplaçant les altres cel·les cap a l'esquerra:
Interval ("C6:C10"). Suprimeix xlToLeft
El mètode Delete utilitza un argument que indica com Excel hauria de moure les cel·les restants. En aquest cas, s'utilitza una constant integrada (xlToLeft) per a l'argument. També podeu utilitzar xlUp, una altra constant anomenada.