Area de una tabla

01/09/2004 - 15:18 por Daribo West | Informe spam
Miguel:

Te agradezco enormemente tu ayuda, espero no abusar y te
pido una más:

Como harías para establecer la primera fila de datos de
una tabla, y la última para seleccionarlas y darle un
formato?

Muchas gracias nuevamente.

Saludos

Darío Nieva
 

Leer las respuestas

#1 Héctor Miguel
01/09/2004 - 19:52 | Informe spam
hola, Daribo !

Como ... establecer la primera fila de datos de una tabla, y la ultima para seleccionarlas y darle un formato?



te paso en seguida una forma [de entre otras 'posibes']
si cualquier duda... ¿comentas?
saludos,
hector.

1° 'captando' las filas y columnas [primera y ultima] de la tabla [p.e.]
Dim Fila_1 As Long, Fila_n As Long, Col_1 As Integer, Col_n As Integer
With Range("c2").CurrentRegion
Fila_1 = .Row
Fila_n = .Rows.Count + Fila_1 - 1
Col_1 = .Column
Col_n = .Columns.Count + Col_1 - 1
End With


2° 'construyendo' los rangos [p.e.]

a) usando variables declaradas del tipo 'Range'
Dim f_Superior As Range, f_Inferior As Range
Set f_Superior = Range(Cells(Fila_1, Col_1), Cells(Fila_1, Col_n))
Set f_Inferior = Range(Cells(Fila_n, Col_1), Cells(Fila_n, Col_n))

b) usando variables declaradas del tipo 'String'
Dim f_Superior As String, f_Inferior As String
f_Superior = Range(Cells(Fila_1, Col_1), Cells(Fila_1, Col_n)).Address
f_Inferior = Range(Cells(Fila_n, Col_1), Cells(Fila_n, Col_n)).Address

3° 'seleccionarlas' para aplicarles formatos seria +/- como sigue...

a) usando variables declaradas del tipo 'Range'
Union(f_Superior, f_Inferior).Select
With Selection
.Interior.ColorIndex = 6
.Font.ColorIndex = 3
.Font.Italic = False
' [aqui mas formatos de tu preferencia] '
End With

b) usando variables declaradas del tipo 'String'
Union(Range(f_Superior), Range(f_Inferior)).Select
With Selection
.Interior.ColorIndex = 6
.Font.ColorIndex = 3
.Font.Italic = False
' [aqui mas formatos de tu preferencia] '
End With

-> [o SIN seleccionarlas]

a) usando variables declaradas del tipo 'Range'
With Union(f_Superior, f_Inferior)
.Interior.ColorIndex = 6
.Font.ColorIndex = 3
.Font.Italic = False
' [aqui mas formatos de tu preferencia] '
End With

b) usando variables declaradas del tipo 'String'
With Union(Range(f_Superior), Range(f_Inferior))
.Interior.ColorIndex = 6
.Font.ColorIndex = 3
.Font.Italic = False
' [aqui mas formatos de tu preferencia] '
End With

4° si haces referencia a objetos [como 'Range'] usando la instruccion ->Set<-
es una buena practica [aunque NO siempre 'necesria']...
una vez que terminas de 'usar' dichos objetos, 'devolver' a ->nada<- dicha referencia [p.e.]
Set f_Superior = Nothing
Set f_Inferior = Nothing

Preguntas similares