Hoja inteligente 9.1.1
Smartsheet es una plataforma de trabajo dinámica que le permite gestionar proyectos, crear flujos de trabajo y colaborar con su equipo.
Un objeto Range tiene docenas de propiedades. Puede escribir programas VBA sin parar durante los próximos 12 meses y nunca usarlos todos. Aquí, obtiene una breve descripción general de algunas de las propiedades de rango VBA de Excel más utilizadas. Para obtener detalles completos, consulte el sistema de ayuda en el VBE. (Consulte estos recursos adicionales para obtener ayuda con Excel VBA ).
Algunas propiedades de Excel VBA Range son propiedades de solo lectura, lo que significa que su código puede ver sus valores pero no puede cambiarlos (“Mire, pero no toque”). Por ejemplo, cada objeto de rango de Excel VBA tiene una propiedad de dirección, que contiene la dirección del rango. Puede acceder a esta propiedad de solo lectura, pero no puede cambiarla, lo que tiene mucho sentido cuando lo piensa.
Por cierto, los ejemplos que siguen son típicamente declaraciones en lugar de procedimientos completos. Si desea probar alguno de estos (y debería hacerlo), cree un procedimiento Sub para hacerlo. Además, muchas de estas declaraciones de VBA funcionan correctamente solo si una hoja de trabajo es la hoja activa.
La propiedad Value representa el valor contenido en una celda. Es una propiedad de lectura y escritura, por lo que su código VBA puede leer o cambiar el valor.
La siguiente declaración muestra un cuadro de mensaje que muestra el valor en la celda A1 en Sheet1:
MsgBox Worksheets ("Sheet1"). Range ("A1"). Value
Es lógico que pueda leer la propiedad Value solo para un objeto Range de una sola celda. Por ejemplo, la siguiente declaración genera un error:
MsgBox Worksheets ("Sheet1"). Range ("A1: C3"). Value
Sin embargo, puede cambiar la propiedad Value para un rango de cualquier tamaño. La siguiente declaración ingresa el número 123 en cada celda de un rango:
Hojas de trabajo ("Hoja1"). Rango ("A1: C3"). Valor = 123
El valor es la propiedad predeterminada para un objeto de rango de VBA de Excel. En otras palabras, si omite una propiedad para un rango, Excel usa su propiedad Value. Las siguientes declaraciones ingresan un valor de 75 en la celda A1 de la hoja de trabajo activa:
Rango ("A1"). Valor = 75 Rango ("A1") = 75
La propiedad Text devuelve una cadena que representa el texto tal como se muestra en una celda: el valor formateado. La propiedad Text es de solo lectura. Suponga que la celda A1 contiene el valor 12,3 y está formateada para mostrar dos decimales y un signo de dólar ($ 12,30). La siguiente declaración muestra un cuadro de mensaje que contiene $ 12.30:
MsgBox Worksheets ("Sheet1"). Range ("A1"). Text
Pero la siguiente declaración muestra un cuadro de mensaje que contiene 12.3:
MsgBox Worksheets ("Sheet1"). Range ("A1"). Value
Si la celda contiene una fórmula, la propiedad Text devuelve el resultado de la fórmula. Si una celda contiene texto, la propiedad Text y la propiedad Value siempre devuelven lo mismo, porque el texto (a diferencia de un número) no puede formatearse para mostrarse de manera diferente.
La propiedad Count devuelve el número de celdas de un rango. Cuenta todas las celdas, no solo las que no están en blanco. Count es una propiedad de solo lectura, tal como era de esperar. La siguiente declaración accede a la propiedad Count de un rango y muestra el resultado (9) en un cuadro de mensaje:
Rango de MsgBox ("A1: C3"). Recuento
La propiedad Columna devuelve el número de columna de un rango de una sola celda. Su compinche, la propiedad Row, devuelve el número de fila de un rango de una sola celda. Ambas son propiedades de solo lectura. Por ejemplo, la siguiente declaración muestra 6 porque la celda F3 está en la sexta columna:
MsgBox Sheets ("Sheet1"). Range ("F3"). Column
La siguiente expresión muestra 3 porque la celda F3 está en la tercera fila:
MsgBox Sheets ("Sheet1"). Range ("F3"). Row
Si el objeto Rango de Excel VBA consta de más de una celda, la propiedad Columna devuelve el número de columna de la primera columna del rango y la propiedad Fila devuelve el número de fila de la primera fila del rango.
No confunda las propiedades Columna y Fila con las propiedades Columnas y Filas. Las propiedades de Columna y Fila devuelven un solo valor. Las propiedades Columns y Rows, por otro lado, devuelven un objeto Range. Qué diferencia hace una "s".
Dirección, una propiedad de solo lectura, muestra la dirección de celda de un objeto Range como una referencia absoluta (un signo de dólar antes de la letra de la columna y antes del número de fila). La siguiente declaración muestra el cuadro de mensaje que se muestra a continuación:
Rango de MsgBox (celdas (1, 1), celdas (5, 5)). Dirección
Este cuadro de mensaje muestra la propiedad Dirección de un rango de 5 por 5.
La propiedad HasFormula (que es de solo lectura) devuelve True si el rango de celda única contiene una fórmula. Devuelve False si la celda contiene algo que no sea una fórmula (o está vacía). Si el rango consta de más de una celda, VBA devuelve Verdadero solo si todas las celdas del rango contienen una fórmula o Falso si todas las celdas del rango no tienen una fórmula. La propiedad devuelve Nulo si el rango contiene una mezcla de fórmulas y no fórmulas. Nulo es una especie de tierra de nadie: la respuesta no es ni Verdadero ni Falso, y cualquier celda en el rango puede tener o no una fórmula.
Debe tener cuidado cuando trabaje con propiedades que pueden devolver Null. Más específicamente, el único tipo de datos que puede tratar con Null es Variant.
For example, assume that cell A1 contains a value and cell A2 contains a formula. The following statements generate an error because the range doesn’t consist of all formulas or all nonformulas:
Dim FormulaTest As Boolean FormulaTest = Range("A1:A2").HasFormula
The Boolean data type can handle only True or False. Null causes Excel to complain and display an error message. To fix this type of situation, the best thing to do is make sure that the FormulaTest variable is declared as a Variant rather than as a Boolean. The following example uses VBA’s handy TypeName function (along with an If-Then-Else construct) to determine the data type of the FormulaTest variable. If the range has a mixture of formulas and nonformulas, the message box displays Mixed! Otherwise, it displays True or False.
Sub CheckForFormulas() Dim FormulaTest As Variant FormulaTest = Range("A1:A2").HasFormula If TypeName(FormulaTest) = "Null" Then MsgBox "Mixed!" Else MsgBox FormulaTest End If End Sub
A property can return an object. The Font property of an Excel VBA Range object is another example of that concept at work. The Font property returns a Font object.
A Font object, as you may expect, has many accessible properties. To change some aspect of a range’s font, you must first access the range’s Font object and then manipulate the properties of that object. This may be confusing, but perhaps this example will help.
The following statement uses the Font property of the Range object to return a Font object. Then the Bold property of the Font object is set to True. In plain English, this statement makes the cell display in boldface:
Range("A1").Font.Bold = True
Truth is, you don’t really need to know that you’re working with a special Font object that’s contained in an Excel VBA Range object. As long as you use the proper syntax, it works just fine. Often, recording your actions with the macro recorder tells you everything you need to know about the proper syntax.
Here’s yet another example of a property that returns an object. A Range object’s Interior property returns an Interior object (strange name, but that’s what it’s called). This type of object referencing works the same way as the Font property.
For example, the following statement changes the Color property of the Interior object contained in the Range object:
Range("A1").Interior.Color = 8421504
En otras palabras, esta declaración cambia el fondo de la celda a gris medio. ¿Que es eso? ¿No sabías que 8421504 es gris medio? Para obtener información sobre el maravilloso mundo del color de Excel, consulte la barra lateral cercana "Una cartilla de color rápida y sucia".
La propiedad Formula representa la fórmula en una celda. Esta es una propiedad de lectura y escritura, por lo que puede acceder a ella para ver la fórmula en una celda o insertar una fórmula en una celda. Por ejemplo, la siguiente declaración ingresa una fórmula SUM en la celda A13:
Rango ("A13"). Fórmula = "= SUMA (A1: A12)"
Observe que la fórmula es una cadena de texto y está entre comillas. También observe que la fórmula comienza con un signo igual, como lo hacen todas las fórmulas.
Si la fórmula en sí contiene comillas, las cosas se complican un poco. Diga que desea insertar esta fórmula usando VBA:
= SUMA (A1: A12) y "Tiendas"
Esta fórmula muestra un valor seguido de la palabra Tiendas . Para que esta fórmula sea aceptable, debe reemplazar todas las comillas en la fórmula con dos comillas. De lo contrario, VBA se confunde y afirma que hay un error de sintaxis (¡porque lo hay!). Entonces, aquí hay una declaración que ingresa una fórmula que contiene comillas:
Rango ("A13"). Fórmula = "= SUMA (A1: A12) &" "Almacena" ""
Por cierto, puede acceder a la propiedad Fórmula de una celda incluso si la celda no tiene una fórmula. Si una celda no tiene fórmula, la propiedad Fórmula devuelve lo mismo que su propiedad Valor.
Si necesita saber si una celda tiene una fórmula, use la propiedad HasFormula.
Tenga en cuenta que VBA "habla" inglés de EE. UU. Esto significa que para poner una fórmula en una celda, debe usar la sintaxis de EE. UU. Si usa una versión de Excel que no está en inglés, lea sobre la propiedad FormulaLocal en el sistema de ayuda.
La propiedad NumberFormat representa el formato de número (expresado como una cadena de texto) del objeto Range. Esta es una propiedad de lectura-escritura, por lo que su código VBA puede examinar el formato del número o cambiarlo. La siguiente declaración cambia el formato numérico de la columna A a un porcentaje con dos lugares decimales:
Columnas ("A: A"). NumberFormat = "0.00%"
Siga estos pasos para ver una lista de otros formatos numéricos (mejor aún, encienda la grabadora de macros mientras hace esto):
Activar una hoja de trabajo.
Presione Ctrl + 1 para acceder al cuadro de diálogo Formato de celdas.
Haga clic en la pestaña Número.
Seleccione la categoría Personalizado para ver y aplicar algunas cadenas de formato de número adicionales.
Smartsheet es una plataforma de trabajo dinámica que le permite gestionar proyectos, crear flujos de trabajo y colaborar con su equipo.
SharePoint es un sistema de colaboración basado en web que utiliza una variedad de aplicaciones de flujo de trabajo, bases de datos de "listas" y otros componentes web, así como funciones de seguridad para dar control a los grupos empresariales que trabajan juntos.
Van Nien Calendar es una aplicación de visualización de calendario en su teléfono, que le ayuda a ver rápidamente la fecha lunisolar en su teléfono, organizando así su importante trabajo.
Microsoft Outlook es una aplicación empresarial y de productividad desarrollada por Microsoft Corporation.
ClickUp es una de las plataformas de productividad mejor calificadas para cualquier empresa. Grandes empresas como Google, Booking.com, San Diego Padres y Uber utilizan ClickUp para aumentar la productividad en el lugar de trabajo.
PDF se ha convertido en un formato de uso común para leer, crear y enviar documentos de texto. A su vez, se ha producido un aumento en el número de programas utilizados para este tipo de documentación. PDF-XChange Viewer se encuentra entre un número creciente de visores de PDF.
Apache OpenOffice ofrece un conjunto completo de aplicaciones de Office que rivalizan con Microsoft 365, especialmente en Excel, PowerPoint y Word. Le permite gestionar sus proyectos de forma más eficaz y admite varios formatos de archivo.
El software iTaxViewer es el software de lectura de archivos XML más popular en la actualidad. Este software es una aplicación de lectura de declaraciones electrónicas de impuestos en formato XML de la Dirección General de Tributación.
Nitro PDF Reader es un práctico editor de PDF que cubre todas las tareas básicas que la mayoría de las personas realizan todos los días con documentos PDF.
Foxit Reader es principalmente un lector de PDF y también le permite crear archivos PDF, firmarlos, editarlos y agregar anotaciones. Funciona en sistemas operativos, existen complementos para varios programas del paquete Microsoft Office.