Propietats útils dobjectes dinterval per a Excel VBA que tothom hauria de saber

Un objecte Range té desenes de propietats. Podeu escriure programes VBA sense parar durant els propers 12 mesos i no utilitzar-los mai tots. Aquí, obtindreu una breu visió general d'algunes de les propietats del rang VBA d'Excel més utilitzades. Per obtenir els detalls complets, consulteu el sistema d'ajuda al VBE. (Consulteu aquests recursos addicionals per obtenir ajuda amb Excel VBA .)

Algunes propietats d'Excel VBA Range són propietats de només lectura, la qual cosa significa que el vostre codi pot mirar els seus valors però no els pot canviar ("Mireu, però no toqueu"). Per exemple, cada objecte d'interval VBA d'Excel té una propietat Address, que conté l'adreça de l'interval. Podeu accedir a aquesta propietat només de lectura, però no podeu canviar-la, cosa que té molt sentit quan hi penseu.

Per cert, els exemples que segueixen solen ser declaracions en lloc de procediments complets. Si voleu provar qualsevol d'aquests (i ho hauríeu de fer), creeu un procediment Sub per fer-ho. A més, moltes d'aquestes declaracions VBA només funcionen correctament si un full de treball és el full actiu.

Excel VBA: la propietat Value

La propietat Value representa el valor contingut en una cel·la. És una propietat de lectura-escriptura, de manera que el vostre codi VBA pot llegir o canviar el valor.

La declaració següent mostra un quadre de missatge que mostra el valor de la cel·la A1 del Full1:

MsgBox Worksheets("Full1").Range("A1").Valor

És lògic que només pugueu llegir la propietat Value per a un objecte Range d'una sola cel·la. Per exemple, la instrucció següent genera un error:

MsgBox Worksheets("Full1").Range("A1:C3").Valor

Tanmateix, podeu canviar la propietat Valor per a un interval de qualsevol mida. La declaració següent introdueix el número 123 a cada cel·la d'un interval:

Fulls de treball ("Full1"). Interval ("A1:C3"). Valor = 123

El valor és la propietat predeterminada per a un objecte d'interval VBA d'Excel. En altres paraules, si ometeu una propietat per a un rang, Excel utilitza la seva propietat Value. Les declaracions següents introdueixen un valor de 75 a la cel·la A1 del full de treball actiu:

Interval("A1").Valor = 75
Interval("A1") = 75

Excel VBA: la propietat Text

La propietat Text retorna una cadena que representa el text tal com es mostra en una cel·la: el valor amb format. La propietat Text és només de lectura. Suposem que la cel·la A1 conté el valor 12,3 i té un format per mostrar dos decimals i un signe de dòlar (12,30 $). La declaració següent mostra un quadre de missatge que conté 12,30 dòlars:

MsgBox Worksheets("Full1").Range("A1").Text

Però la següent declaració mostra un quadre de missatge que conté 12.3:

MsgBox Worksheets("Full1").Range("A1").Valor

Si la cel·la conté una fórmula, la propietat Text retorna el resultat de la fórmula. Si una cel·la conté text, la propietat Text i la propietat Value sempre retornen el mateix, perquè el text (a diferència d'un número) no es pot formatar per mostrar-se de manera diferent.

Excel VBA: la propietat Count

La propietat Count retorna el nombre de cel·les d'un interval. Compta totes les cel·les, no només les cel·les no en blanc. Count és una propietat només de lectura, tal com és d'esperar. La instrucció següent accedeix a la propietat Count d'un rang i mostra el resultat (9) en un quadre de missatge:

MsgBox Range("A1:C3").Count

Excel VBA: les propietats Columna i Fila

La propietat Columna retorna el número de columna d'un interval d'una sola cel·la. El seu company, la propietat Row, retorna el número de fila d'un rang d'una sola cel·la. Tots dos són propietats de només lectura. Per exemple, la instrucció següent mostra 6 perquè la cel·la F3 es troba a la sisena columna:

MsgBox Sheets("Full1").Range("F3").Columna

La següent expressió mostra 3 perquè la cel·la F3 es troba a la tercera fila:

MsgBox Sheets("Full1").Range("F3").Fila

Si l'objecte Interval VBA d'Excel consta de més d'una cel·la, la propietat Columna retorna el número de columna de la primera columna de l'interval i la propietat Fila retorna el número de fila de la primera fila de l'interval.

No confongueu les propietats Columna i Fila amb les propietats Columnes i Files. Les propietats Columna i Fila retornen un sol valor. Les propietats Columns i Rows, en canvi, retornen un objecte Range. Quina diferència fa una "s".

Excel VBA: la propietat Address

Address, una propietat de només lectura, mostra l'adreça de la cel·la d'un objecte Range com a referència absoluta (un signe de dòlar abans de la lletra de la columna i abans del número de fila). La declaració següent mostra el quadre de missatge que es mostra a continuació:

MsgBox Range(Cèl·lules(1, 1), Cel·les(5, 5)). Adreça

Propietats útils d'objectes d'interval per a Excel VBA que tothom hauria de saber

Aquest quadre de missatge mostra la propietat Address d'un interval de 5 per 5.

Excel VBA: la propietat HasFormula

La propietat HasFormula (que és només de lectura) retorna True si l'interval d'una sola cel·la conté una fórmula. Retorna Fals si la cel·la conté alguna cosa que no sigui una fórmula (o està buida). Si l'interval consta de més d'una cel·la, VBA només retorna True si totes les cel·les de l'interval contenen una fórmula o False si totes les cel·les de l'interval no tenen una fórmula. La propietat retorna Null si l'interval conté una barreja de fórmules i no fórmules. Null és una mena de terra de ningú: la resposta no és vertader ni fals, i qualsevol cel·la de l'interval pot tenir una fórmula o no.

Heu de tenir cura quan treballeu amb propietats que poden retornar Null. Més concretament, l'únic tipus de dades que pot tractar amb Null és Variant.

Per exemple, suposem que la cel·la A1 conté un valor i la cel·la A2 conté una fórmula. Les declaracions següents generen un error perquè l'interval no consta de totes les fórmules o de totes les no fórmules:

Dim FormulaTest com a booleà
FormulaTest = Interval("A1:A2").HasFormula

El tipus de dades booleà només pot gestionar True o False. Null fa que Excel es queixi i mostri un missatge d'error. Per solucionar aquest tipus de situacions, el millor és assegurar-se que la variable FormulaTest es declari com a Variant en lloc de com a booleà. L'exemple següent utilitza la pràctica funció TypeName de VBA (juntament amb una construcció If-Then-Else) per determinar el tipus de dades de la variable FormulaTest. Si l'interval té una barreja de fórmules i no fórmules, el quadre de missatge mostra Mixt! En cas contrari, mostra True o False .

Sub CheckForFormulas()
  Dim FormulaTest com a variant
  FormulaTest = Interval("A1:A2").HasFormula
  Si TypeName(FormulaTest) = "Nul" Aleshores
    MsgBox "Mixt!"
  Altrament
    MsgBox FormulaTest
  Acaba si
End Sub

Excel VBA: la propietat Font

Una propietat pot retornar un objecte. La propietat Font d'un objecte d'Excel VBA Range és un altre exemple d'aquest concepte en funcionament. La propietat Font retorna un objecte Font.

Un objecte Font, com és d'esperar, té moltes propietats accessibles. Per canviar algun aspecte del tipus de lletra d'un rang, primer heu d'accedir a l'objecte Font del rang i després manipular les propietats d'aquest objecte. Això pot ser confús, però potser aquest exemple us ajudarà.

La instrucció següent utilitza la propietat Font de l'objecte Range per retornar un objecte Font. Aleshores, la propietat Negreta de l'objecte Font s'estableix en True. En anglès senzill, aquesta afirmació fa que la cel·la es mostri en negreta:

Interval("A1").Font.Bold = True

La veritat és que realment no necessiteu saber que esteu treballant amb un objecte de lletra especial que es troba en un objecte d'interval VBA d'Excel. Sempre que utilitzeu la sintaxi adequada, funciona bé. Sovint, enregistrar les vostres accions amb la gravadora de macros us indica tot el que necessiteu saber sobre la sintaxi adequada.

Excel VBA: la propietat Interior

Aquí hi ha un altre exemple d'una propietat que retorna un objecte. La propietat Interior d'un objecte Range retorna un objecte Interior (nom estrany, però així s'anomena). Aquest tipus de referència d'objectes funciona de la mateixa manera que la propietat Font.

Per exemple, la instrucció següent canvia la propietat Color de l'objecte Interior contingut a l'objecte Range:

Interval("A1").Interior.Color = 8421504

En altres paraules, aquesta afirmació canvia el fons de la cel·la a gris mitjà. Què és això? No sabíeu que 8421504 és gris mitjà? Per obtenir informació sobre el meravellós món del color d'Excel, consulteu la barra lateral propera "Una imprimació de color ràpida i bruta".

Excel VBA: la propietat de la fórmula

La propietat Formula representa la fórmula en una cel·la. Aquesta és una propietat de lectura-escriptura, de manera que podeu accedir-hi per veure la fórmula en una cel·la o inserir una fórmula en una cel·la. Per exemple, la instrucció següent introdueix una fórmula SUMA a la cel·la A13:

Interval ("A13"). Fórmula = "=SUMA(A1:A12)"

Observeu que la fórmula és una cadena de text i està entre cometes. Observeu també que la fórmula comença amb un signe igual, com ho fan totes les fórmules.

Si la fórmula en si conté cometes, les coses es tornen una mica complicades. Digueu que voleu inserir aquesta fórmula mitjançant VBA:

=SUMA(A1:A12)&"Botigues"

Aquesta fórmula mostra un valor seguit de la paraula Botigues . Perquè aquesta fórmula sigui acceptable, heu de substituir totes les cometes de la fórmula per dues cometes. En cas contrari, VBA es confon i afirma que hi ha un error de sintaxi (perquè n'hi ha!). Així que aquí hi ha una declaració que introdueix una fórmula que conté cometes:

Interval("A13"). Fórmula = "=SUMA(A1:A12)&"" Botigues"""

Per cert, podeu accedir a la propietat Fórmula d'una cel·la encara que la cel·la no tingui una fórmula. Si una cel·la no té fórmula, la propietat Formula retorna el mateix que la propietat Value.

Si necessiteu saber si una cel·la té una fórmula, utilitzeu la propietat HasFormula.

Tingueu en compte que VBA "parla" anglès dels EUA. Això vol dir que per posar una fórmula en una cel·la, heu d'utilitzar la sintaxi dels EUA. Si utilitzeu una versió d'Excel que no sigui en anglès, llegiu la propietat FormulaLocal al sistema d'ajuda.

Excel VBA: la propietat NumberFormat

La propietat NumberFormat representa el format de nombre (expressat com una cadena de text) de l'objecte Range. Aquesta és una propietat de lectura-escriptura, de manera que el vostre codi VBA pot examinar el format del número o canviar-lo. La declaració següent canvia el format de nombre de la columna A a un percentatge amb dos decimals:

Columnes ("A:A").NumberFormat = "0,00%"

Seguiu aquests passos per veure una llista d'altres formats de nombre (millor encara, activeu la gravadora de macros mentre feu això):

Activa un full de treball.

Premeu Ctrl+1 per accedir al quadre de diàleg Format de cel·les.

Feu clic a la pestanya Número.

Seleccioneu la categoria Personalitzada per veure i aplicar algunes cadenes de format de nombre addicionals.


Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word d'obrir fitxers en mode de només lectura a Windows Microsoft Word obre fitxers en mode de només lectura, cosa que fa que sigui impossible editar-los? No us preocupeu, els mètodes es mostren a continuació

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com corregir errors en imprimir documents incorrectes de Microsoft Word Els errors en imprimir documents de Word amb tipus de lletra canviats, paràgrafs desordenats, falta de text o contingut perdut són força habituals. No obstant això, no

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Si heu utilitzat el llapis o el marcador per dibuixar a les vostres diapositives de PowerPoint durant una presentació, podeu desar els dibuixos per a la següent presentació o esborrar-los de manera que la propera vegada que el mostreu, començareu amb diapositives de PowerPoint netes. Seguiu aquestes instruccions per esborrar dibuixos a llapis i ressaltadors: Esborrant línies una a […]

Contingut de la biblioteca destils a SharePoint 2010

Contingut de la biblioteca destils a SharePoint 2010

La biblioteca d'estils conté fitxers CSS, fitxers de llenguatge de full d'estil extensible (XSL) i imatges utilitzades per pàgines mestres predefinides, dissenys de pàgina i controls a SharePoint 2010. Per localitzar fitxers CSS a la biblioteca d'estils d'un lloc de publicació: Trieu Accions del lloc→Visualitza Tot el contingut del lloc. Apareix el contingut del lloc. La biblioteca d'estil es troba a […]

Formateu els números en milers i milions als informes dExcel

Formateu els números en milers i milions als informes dExcel

No desbordeu el vostre públic amb números gigantesques. A Microsoft Excel, podeu millorar la llegibilitat dels vostres taulers i informes formatant els vostres números perquè apareguin en milers o milions.

Com compartir i seguir els llocs de SharePoint

Com compartir i seguir els llocs de SharePoint

Apreneu a utilitzar les eines de xarxes socials de SharePoints que permeten a persones i grups comunicar-se, col·laborar, compartir i connectar-se.

Com convertir les dates a formats Julian a Excel

Com convertir les dates a formats Julian a Excel

Les dates julianes s'utilitzen sovint en entorns de fabricació com a marca de temps i referència ràpida per a un número de lot. Aquest tipus de codificació de dates permet als minoristes, consumidors i agents de serveis identificar quan es va fabricar un producte i, per tant, l'antiguitat del producte. Les dates julianes també s'utilitzen en programació, militars i astronomia. Diferents […]

Com crear una aplicació web daccés

Com crear una aplicació web daccés

Podeu crear una aplicació web a Access 2016. Què és, de totes maneres, una aplicació web? Bé, web vol dir que està en línia i l'aplicació és només una abreviatura de "aplicació". Una aplicació web personalitzada és una aplicació de base de dades en línia a la qual s'accedeix des del núvol mitjançant un navegador. Creeu i manteniu l'aplicació web a la versió d'escriptori […]

Barra dinici ràpid a SharePoint 2010

Barra dinici ràpid a SharePoint 2010

La majoria de les pàgines del SharePoint 2010 mostren una llista d'enllaços de navegació a la barra d'inici ràpid al costat esquerre de la pàgina. La barra d'inici ràpid mostra enllaços al contingut del lloc destacat, com ara llistes, biblioteques, llocs i pàgines de publicació. La barra d'inici ràpid inclou dos enllaços molt importants: Enllaç de tot el contingut del lloc: el […]

Què signifiquen els missatges derror del solucionador a Excel?

Què signifiquen els missatges derror del solucionador a Excel?

Per a problemes senzills, Solver a Excel sol trobar ràpidament els valors òptims de la variable Solver per a la funció objectiu. Però, en alguns casos, Solver té problemes per trobar els valors de la variable Solver que optimitzen la funció objectiu. En aquests casos, Solver normalment mostra un missatge o un missatge d'error que descriu o discuteix el problema que […]