Retroceder   Foros del Web > Temas generales de computación > Ofimática

Respuesta
 
Herramientas Desplegado
Antiguo 21-abr-2008, 12:19   #1 (permalink)
uninc ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 1
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.
uninc está desconectado   Responder Citando
Antiguo 21-abr-2008, 13:52   #2 (permalink)
uzziber tiene algunos puntos positivos de karma
 
Fecha de Ingreso: agosto-2004
Mensajes: 665
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...
uzziber está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:20.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93