Foros del Web » Soporte técnico » Ofimática »

macro para selecionar columnas

Estas en el tema de macro para selecionar columnas en el foro de Ofimática en Foros del Web. Hola; Tengo un problema con una macro para excel, en concreto a la hora de selecionar columnas. Os comento: llegado el momento, en mi macro ...
  #1 (permalink)  
Antiguo 21/04/2008, 12:19
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
macro para selecionar columnas

Hola;

Tengo un problema con una macro para excel, en concreto a la hora de selecionar columnas.

Os comento: llegado el momento, en mi macro tengo que selecionar varias columnas para graficar los datos. Estas columnas podrían llevar por titulo, por ejemplo, una "Nombre" y otra "Apellido". El problema es que dependiendo de las diferentes situaciones (son casi inumerables) las columnas pueden llegar a ocupar lugares diferentes, es decir, en unas ocasiones la columna Nombres será la segunda columna del libro, pero en otras ocasiones puede ser la tercera, la cuarta o la que sea. Lo mismo para la columna "Apellidos"

Os digo lo que he intentado:

1ª opción: en primer lugar, dado que las columnas pueden estar en cualquier posición, busco en la primera fila (fila de titulos) la palabra "Nombre". Cuando la encuentro, meto el numero de columna (el que apunta el contador) en una varible y luego le digo que me seleccione la columna a la que corresponde la variable:

for i=1 to 10
if workbooks(xxxxx).worksheets(xxxxx).cells(1,i)="Nom bre" then
k=i
exit for
end if
next i
workbooks(xxxxx).worksheets(xxxxx).columns(k).sele ct

El problema es que cuando voy a selecionar la otra columna ("Apellidos") con el mismo metodo, como es logico, solo tengo seleccionada esta ultima columna o lo que es lo mismo, la columna "Nombre" se me deselecciona.

Resumiendo, que tengo que seleccionar varias columnas que pueden ocupar posiciones diferentes para graficar los datos que contienen.

Creo que el principal problema al que me enfrento es en relación a las referencias a dichas columnas. ¿Se puede hacer referencia a una columna mediante numero en vez de letras? Ed decir Range("1:1") en vez de Range("A:A") para referirnos a la primera columna. En ese caso como puedo hacer para referirme a varias columnas mediante numeros.

Si algo no se entiende o no queda claro, por favor comunicarmelo y lo intento resolver.

Os agradeceria vuesntra contestacion.

Gracias y un saludo.
  #2 (permalink)  
Antiguo 21/04/2008, 13:52
Colaborador
 
Fecha de Ingreso: agosto-2004
Mensajes: 1.611
Antigüedad: 19 años, 8 meses
Puntos: 47
Re: macro para selecionar columnas

Prueba éste ejemplo; tomado de la ayuda de VBA...

Para trabajar con varias filas o columnas al mismo tiempo, cree una variable de objeto y utilice el método Union, combinando varias llamadas a la propiedad Rows o Columns. El siguiente ejemplo cambia a negrita el formato de las filas uno, tres y cinco de la hoja de cálculo uno del libro activo.

Sub SeveralRows()
Worksheets("Sheet1").Activate
Dim myUnion As Range
Set myUnion = Union(Rows(1), Rows(3), Rows(5))
myUnion.Font.Bold = True
End Sub


Saludos...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:20.