Arrastrar columnas por código

14/07/2005 - 15:22 por Emilio | Informe spam
Hola a tod@s
no sé si será por que estoy a punto de vacaciones y ya ni veo, pero estoy
atascado intentando resolver un problema que seguro que es un chorrada, pero
no me desatasco.
Necesito arrastrar un rango en columna, por código, hasta ahí es facil, el
problema es que el rango es variable, está relacionado con el mes en curso,
en filas no tengo problemas por que las Columnas son fijas y puedo escribir
como parte fija del rango las columnas, pero no se me ocurre como escribir
la columna destino, sé cual es la origen calculandola, y me resulta por
ejemplo la EA, tengo que arrastrarla a EB
La macro que grabé me devolvio esto
Range("EA29:EA41").Select
Selection.AutoFill Destination:=Range("EA29:EB41"), Type:=xlFillDefault
que yo he "traducido" por
ActiveSheet.Cells((bytMesCalculo - 1) + 126, 29).Select ' EA29
Selection.AutoFill Destination:=Range(Columna & "29:EB41"),
Type:=xlFillDefault
(Columna me devuelve la cadena correspondiente a la columna de la celda
activa)
Evidentemente, así este mes funcionará, pero no el que viene.
Despues de toda la parrafada, no sé si todavía queda claro, necesito
partiendo de EA llegar a EB

Gracias anticipadas.

Saludos a tod@s
Emilio
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio

Preguntas similare

Leer las respuestas

#1 KL
14/07/2005 - 19:02 | Informe spam
Hola Emilio,

A mi si que me has liado. No entiendo como llegas a determinar que el rango
a copiar es el Range("EA29:EA41") (o al menos cuales son los criterios para
definir este rango dinamicamente). Pero si has llegado hasta aqui, creo que
seria facil definir el rango destino p.ej.:

Range("EA29:EA41").Resize(,2)

que deberia devolver:

Range("EA29:EB41")

Comentas mas detalles?

Saludos,
KL




"Emilio" <miliuco56 ARROBA hotmail.com> wrote in message
news:
Hola a
no sé si será por que estoy a punto de vacaciones y ya ni veo, pero estoy
atascado intentando resolver un problema que seguro que es un chorrada,
pero
no me desatasco.
Necesito arrastrar un rango en columna, por código, hasta ahí es facil, el
problema es que el rango es variable, está relacionado con el mes en
curso,
en filas no tengo problemas por que las Columnas son fijas y puedo
escribir
como parte fija del rango las columnas, pero no se me ocurre como escribir
la columna destino, sé cual es la origen calculandola, y me resulta por
ejemplo la EA, tengo que arrastrarla a EB
La macro que grabé me devolvio esto
Range("EA29:EA41").Select
Selection.AutoFill Destination:=Range("EA29:EB41"), Type:=xlFillDefault
que yo he "traducido" por
ActiveSheet.Cells((bytMesCalculo - 1) + 126, 29).Select ' EA29
Selection.AutoFill Destination:=Range(Columna & "29:EB41"),
Type:=xlFillDefault
(Columna me devuelve la cadena correspondiente a la columna de la celda
activa)
Evidentemente, así este mes funcionará, pero no el que viene.
Despues de toda la parrafada, no sé si todavía queda claro, necesito
partiendo de EA llegar a EB

Gracias anticipadas.

Saludos a
Emilio
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio



Respuesta Responder a este mensaje
#2 Emilio
14/07/2005 - 19:57 | Informe spam
Hola KL y gracias :-))
el rango lo sé por que es el que corresponde al mes de junio y tengo que
arrastrar sus formulas al mes de julio, tengo perfectamente claro como
seleccionarlo, ese no es problema, el problema es arrastrarlo a la siguiente
columna, ojo con un "chapuza" podría hacerlo sabiendo de que mes hablo y un
select case podría asignar a julio EB, agosto EC..., pero me parece que
tiene que haber algún método mas ortodoxo, incluso en el peor de los casos
podría reconstruir las formulas tampoco son tantas, pero como conozco el
percal, el día menos pensado me las cambian sin avisar... (yo solo la
automatizo)
Ahora no estoy en el trabajo, entonces ¿puedo hacer el autofill mediante
Range("EA29:EA41").Resize(,2) ?
Mañana lo probaré en cuanto llegue al curro.

Muchas gracias de nuevo

Saludos a desde Huelva
Emilio
miliuco56 ALGARROBA hotmail.com

http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio

Reglas de conducta de los grupos de noticias:
http://support.microsoft.com/defaul...newsreglas

"KL" escribió en el mensaje
news:
Hola Emilio,

A mi si que me has liado. No entiendo como llegas a determinar que el
rango a copiar es el Range("EA29:EA41") (o al menos cuales son los
criterios para definir este rango dinamicamente). Pero si has llegado
hasta aqui, creo que seria facil definir el rango destino p.ej.:

Range("EA29:EA41").Resize(,2)

que deberia devolver:

Range("EA29:EB41")

Comentas mas detalles?

Saludos,
KL




"Emilio" <miliuco56 ARROBA hotmail.com> wrote in message
news:
Hola a
no sé si será por que estoy a punto de vacaciones y ya ni veo, pero estoy
atascado intentando resolver un problema que seguro que es un chorrada,
pero
no me desatasco.
Necesito arrastrar un rango en columna, por código, hasta ahí es facil,
el
problema es que el rango es variable, está relacionado con el mes en
curso,
en filas no tengo problemas por que las Columnas son fijas y puedo
escribir
como parte fija del rango las columnas, pero no se me ocurre como
escribir
la columna destino, sé cual es la origen calculandola, y me resulta por
ejemplo la EA, tengo que arrastrarla a EB
La macro que grabé me devolvio esto
Range("EA29:EA41").Select
Selection.AutoFill Destination:=Range("EA29:EB41"),
Type:=xlFillDefault
que yo he "traducido" por
ActiveSheet.Cells((bytMesCalculo - 1) + 126, 29).Select ' EA29
Selection.AutoFill Destination:=Range(Columna & "29:EB41"),
Type:=xlFillDefault
(Columna me devuelve la cadena correspondiente a la columna de la celda
activa)
Evidentemente, así este mes funcionará, pero no el que viene.
Despues de toda la parrafada, no sé si todavía queda claro, necesito
partiendo de EA llegar a EB

Gracias anticipadas.

Saludos a
Emilio
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio







Respuesta Responder a este mensaje
#3 KL
14/07/2005 - 21:00 | Informe spam
Hola Emilio,

entonces ¿puedo hacer el autofill mediante Range("EA29:EA41").Resize(,2) ?



no exactamente. solo te permite construir el rango a llenar para luego
usarlo con el metodo AutoFill, asi +/-:

With Range("EA29:EA41")
.AutoFill Destination:=.Resize(,2), Type:=xlFillDefault
End If

Saludos,
KL
Respuesta Responder a este mensaje
#4 Emilio
14/07/2005 - 21:26 | Informe spam
Gracias KL,
mañana lo pruebo y te confirmo que ha funcionado :-))

Saludos a desde Huelva
Emilio
miliuco56 ALGARROBA hotmail.com

http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio

Reglas de conducta de los grupos de noticias:
http://support.microsoft.com/defaul...newsreglas

"KL" escribió en el mensaje
news:%
Hola Emilio,

entonces ¿puedo hacer el autofill mediante Range("EA29:EA41").Resize(,2) ?



no exactamente. solo te permite construir el rango a llenar para luego
usarlo con el metodo AutoFill, asi +/-:

With Range("EA29:EA41")
.AutoFill Destination:=.Resize(,2), Type:=xlFillDefault
End If

Saludos,
KL


Respuesta Responder a este mensaje
#5 Emilio
15/07/2005 - 09:01 | Informe spam
Muchas gracias de nuevo KL
por supuesto y como no me cabía esperar otra cosa, funciona perfectamente,
estaba seguro de que tenía que haber algún metodo sin tener que hacer
chapuzas como las que se me ocurrían a mi.

Saludos a
Emilio
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio


"Emilio" <miliuco56 ALGARROBA hotmail PUNTO com> escribió en el mensaje
news:%
Gracias KL,
mañana lo pruebo y te confirmo que ha funcionado :-))

Saludos a desde Huelva
Emilio
miliuco56 ALGARROBA hotmail.com

http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio

Reglas de conducta de los grupos de noticias:
http://support.microsoft.com/defaul...newsreglas

"KL" escribió en el mensaje
news:%
> Hola Emilio,
>
>>entonces ¿puedo hacer el autofill mediante Range("EA29:EA41").Resize(,2)


?
>
> no exactamente. solo te permite construir el rango a llenar para luego
> usarlo con el metodo AutoFill, asi +/-:
>
> With Range("EA29:EA41")
> .AutoFill Destination:=.Resize(,2), Type:=xlFillDefault
> End If
>
> Saludos,
> KL
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida