Ayuda con Macro - Envío de información de celdas combinadas

26/04/2007 - 19:03 por Jorge Forero | Informe spam
buenos días, tengo el siguiente caso para el foro


tengo una macro que me envía la información de una celda a otra hoja de
cálculo.
Lo que necesito es enviar la información de celdas combinadas así:
Ejemplo:
Celda a3, a4, a5 combinadas en una, dato almacenado: Tema A
Celda b3, b4, b5 combinadas en una, dato almacenado: Caso 5
Celda c3 NO combinada Dato almacenado A5-1
Celda c4 NO combinada Dato almacenado A5-2
Celda c5 NO combinada Dato almacenado A5-3.

en la hoja que las copie, deben quedar igual, ed decir las combinadas y


las no combinadas

Sañudos a todos y mil gracias por la colaboración



Cordialmente.
JORGE ENRIQUE FORERO TOVAR
Gerencia Nacional de Automóviles
Cel. 311 859 75 33

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
27/04/2007 - 07:10 | Informe spam
hola, Jorge !

tengo una macro que me envia la informacion de una celda a otra hoja de calculo.
Lo que necesito es enviar la informacion de celdas combinadas asi: Ejemplo:
Celda a3, a4, a5 combinadas en una, dato almacenado: Tema A
Celda b3, b4, b5 combinadas en una, dato almacenado: Caso 5
Celda c3 NO combinada Dato almacenado A5-1
Celda c4 NO combinada Dato almacenado A5-2
Celda c5 NO combinada Dato almacenado A5-3.
en la hoja que las copie, deben quedar igual, ed decir las combinadas y las no combinadas





existe 'algo' que te impida copiar el rango completo: -> 'A3:C5' ???

saludos,
hector.
Respuesta Responder a este mensaje
#2 Jorge Forero
27/04/2007 - 17:21 | Informe spam
Saludos Hector,

Lo que me impide enviar el rango completo es que realmente las celdas no
combinadas que necesito enviar son las de la columna D, es decir, enviar A y
B combinadas y la D no combinada, sin pasar por la C

agradezco tu colaboración


Cordialmente.
JORGE ENRIQUE FORERO TOVAR
Gerencia Nacional de Automóviles
Cel. 311 859 75 33


"Héctor Miguel" escribió en el mensaje
news:
hola, Jorge !

>> tengo una macro que me envia la informacion de una celda a otra hoja de


calculo.
>> Lo que necesito es enviar la informacion de celdas combinadas asi:


Ejemplo:
>> Celda a3, a4, a5 combinadas en una, dato almacenado: Tema A
>> Celda b3, b4, b5 combinadas en una, dato almacenado: Caso 5
>> Celda c3 NO combinada Dato almacenado A5-1
>> Celda c4 NO combinada Dato almacenado A5-2
>> Celda c5 NO combinada Dato almacenado A5-3.
>> en la hoja que las copie, deben quedar igual, ed decir las combinadas y


las no combinadas

existe 'algo' que te impida copiar el rango completo: -> 'A3:C5' ???

saludos,
hector.


Respuesta Responder a este mensaje
#3 Héctor Miguel
27/04/2007 - 18:17 | Informe spam
hola, Jorge !

Lo que me impide enviar el rango completo es que
realmente las celdas no combinadas que necesito enviar son las de la columna D
es decir, enviar A y B combinadas y la D no combinada, sin pasar por la C



un 'ligero' detalle omitido :))
no se como sean las instrucciones en el codigo que usas -?-
prueba con una instruccion +/- como la siguiente:

Worksheets("hoja1").Range("a3:b5,d3:d5").Copy _
Worksheets("hoja2").Range("a3")

si cualquier duda [o salen mas detalles del tintero]... comentas ?
saludos,
hector.

__ las consultas anteriores __
>> tengo una macro que me envia la informacion de una celda a otra hoja de calculo.
>> Lo que necesito es enviar la informacion de celdas combinadas asi: Ejemplo:
>> Celda a3, a4, a5 combinadas en una, dato almacenado: Tema A
>> Celda b3, b4, b5 combinadas en una, dato almacenado: Caso 5
>> Celda c3 NO combinada Dato almacenado A5-1
>> Celda c4 NO combinada Dato almacenado A5-2
>> Celda c5 NO combinada Dato almacenado A5-3.
>> en la hoja que las copie, deben quedar igual, ed decir las combinadas y las no combinadas

existe 'algo' que te impida copiar el rango completo: -> 'A3:C5' ???
Respuesta Responder a este mensaje
#4 Jorge Forero
27/04/2007 - 21:31 | Informe spam
Ok Hector me rindo, como principiante pensé que podria construir el código
completo a partir de los tips que me has dado, te comento el caso completo
sacando todo del tintero a ver como me puedes ayudar:

1-. Tengo un libro llamado: excel1
dentro de excel1 tengo una hoja llamada hoja1 con lo siguiente:

Columna

Fila
A
B
C
D
E
F

5
AUT-AUL001
0001
descripción a
CA-AUT-AUTR
005


6
CA-AUT-IMPR
002


7
CARTERA
AUT-CAR-001
póliza con tres cheques

8
SINIESTROS
AUT-SIN-001
Póliza sin RCE para ser afectada

9
CAJA
AUT-CAJ-001
recaudo

10
n/a
n/a


11
AUT-AUL001
0002
descripción b
TESORERÍA
008


12
CAJA
009


13
ADMINISTRA
AUT-CAR-001
A

14
A
AUT-SIN-001
B

15
B
AUT-CAJ-001
C



y así sucesivamente.

Lo que pretendo hacer:
tengo un userform donde me pregunta el valor de la columna A y lo almacena
en txb1 (del ejemplo: AUT-AUL001), columna b y lo almacena en txb2 (del
ejemplo: 0001)

cuando se da Click en btnAceptar, abre el archivo excel2 hoja "plantilla",
debe asociar lo digitado en los txb y copiar en la hoja plantilla de excel2
esa asociación teniendo en cuenta que en excel1 la columna a y b están
combinadas para las filas 5 a 10 (en el primer caso) y las columnas d,e y f
no lo están
en la celda a5 y b5 debe pegar lo digitado en txb1 y txb2 respectivamente (o
también puede pegar el valor almacenado en a y b).
en la celda c,d, y e, debe pegar lo contenido en d,e, y f de excel1.

lo hago de esta forma ya que el excel1 tiene aproximadamente 2000 registros
(filas) y necesito ir generando una a una una plantilla para cada registro
con otros cálculos adicionales.

Bueno Hector espero entiendas lo que quiero hacer y que no se haya quedado
nada en el tintero, por tu colaboración mil gracias.

sin ánimo de abusar de tus conocimientos pero con las ganas de aprender, voy
exponerte otro caso que tiene que ver con esta misma labor que estoy
tratando de organizar en donde trabajo:

Una vez hecho lo anterior, en el excel2 hoja Plantilla, en las siguientes
celdas al copy realizado, viene lo siguiente:

a15 = DatoA a16 = Dato C
f15 = DatoB f16 = DatoD
etc...

tengo unos txb y combobox que solicitan y/o desplegan información.

Una vez el usuario diligencia la plantilla, oprime el boton "Generar".
este botón debe hacer los siguientes cuatro pasos:

1-. validar que los txb y combos no estén en blanco, esto lo hice pero campo
por campo con las instrucción

if combodato1.value = "" then msgbox("debe digitar")
if combodato2.value = "" then msgbox("debe digitar")
if txbdato1.text = "" then msgbox("debe digitar")
if txbdato2.text = "" then msgbox("debe digitar")

no se si exista forma de capturar todos al tiempo y emitir un solo msgbox

2-. Con esto no he podido: debe crear una hoja de cálculo nueva cuyo nombre
corresponde a un stándar así: PLA-contador
en donde contador es un número consecutivo que debe correr automático cada
vez que se cree la nueva hoja ejmplo: contador = 0 la primera vez que el
usuario oprima el botón la hoja se llamará PLA-1, cuando vuelva a oprimir
PLA-2.
las hojas creadas deben irse generando a la derecha, después de la última
creada, hoy me la inserta a la izquierda (como cuando se crea una hoja desde
excel)

3-. con esta tampoco he podido debe copiar lo contenido en la columna a y f
comenzando en la fila 6 además debe copiar en la columna b (en las celdas)
los valores que están digitados en los txb y combos de la hoja "plantilla"

4-. salvar el libro: esto lo hago con Workbook.save

hector gracias por la ayuda que me puedas brindar



Cordialmente.
JORGE ENRIQUE FORERO TOVAR
Gerencia Nacional de Automóviles
Cel. 311 859 75 33


"Héctor Miguel" escribió en el mensaje
news:
hola, Jorge !

> Lo que me impide enviar el rango completo es que
> realmente las celdas no combinadas que necesito enviar son las de la


columna D
> es decir, enviar A y B combinadas y la D no combinada, sin pasar por la


C

un 'ligero' detalle omitido :))
no se como sean las instrucciones en el codigo que usas -?-
prueba con una instruccion +/- como la siguiente:

Worksheets("hoja1").Range("a3:b5,d3:d5").Copy _
Worksheets("hoja2").Range("a3")

si cualquier duda [o salen mas detalles del tintero]... comentas ?
saludos,
hector.

__ las consultas anteriores __
>> >> tengo una macro que me envia la informacion de una celda a otra hoja


de calculo.
>> >> Lo que necesito es enviar la informacion de celdas combinadas asi:


Ejemplo:
>> >> Celda a3, a4, a5 combinadas en una, dato almacenado: Tema A
>> >> Celda b3, b4, b5 combinadas en una, dato almacenado: Caso 5
>> >> Celda c3 NO combinada Dato almacenado A5-1
>> >> Celda c4 NO combinada Dato almacenado A5-2
>> >> Celda c5 NO combinada Dato almacenado A5-3.
>> >> en la hoja que las copie, deben quedar igual, ed decir las


combinadas y las no combinadas
>>
>> existe 'algo' que te impida copiar el rango completo: -> 'A3:C5' ???


Respuesta Responder a este mensaje
#5 Jorge Forero
27/04/2007 - 22:22 | Informe spam
Que pena hector en ejemplo que te envíe insterté la tabla, pero la veo
desconfigurada:

La cosa con el ejemplo es así:

Columna A fila 5 a 10 combinada = AUT-AUL001 Columna A fila 5 a 10 combinada
= 001

Columna H fila 5 = datoA

Columna I fila 5 = datoB

Columna J fila 5 = datoC

Columna H fila 6 = datoD

Columna I fila 6 = datobF

Columna J fila 6 = datocG así sucesivamente hasta la fila 10

Saludos

JORGE FORERO

"Jorge Forero" escribió en el mensaje
news:
Ok Hector me rindo, como principiante pensé que podria construir el código
completo a partir de los tips que me has dado, te comento el caso completo
sacando todo del tintero a ver como me puedes ayudar:

1-. Tengo un libro llamado: excel1
dentro de excel1 tengo una hoja llamada hoja1 con lo siguiente:

Columna

Fila
A
B
C
D
E
F

5
AUT-AUL001
0001
descripción a
CA-AUT-AUTR
005


6
CA-AUT-IMPR
002


7
CARTERA
AUT-CAR-001
póliza con tres cheques

8
SINIESTROS
AUT-SIN-001
Póliza sin RCE para ser afectada

9
CAJA
AUT-CAJ-001
recaudo

10
n/a
n/a


11
AUT-AUL001
0002
descripción b
TESORERÍA
008


12
CAJA
009


13
ADMINISTRA
AUT-CAR-001
A

14
A
AUT-SIN-001
B

15
B
AUT-CAJ-001
C



y así sucesivamente.

Lo que pretendo hacer:
tengo un userform donde me pregunta el valor de la columna A y lo almacena
en txb1 (del ejemplo: AUT-AUL001), columna b y lo almacena en txb2 (del
ejemplo: 0001)

cuando se da Click en btnAceptar, abre el archivo excel2 hoja "plantilla",
debe asociar lo digitado en los txb y copiar en la hoja plantilla de


excel2
esa asociación teniendo en cuenta que en excel1 la columna a y b están
combinadas para las filas 5 a 10 (en el primer caso) y las columnas d,e y


f
no lo están
en la celda a5 y b5 debe pegar lo digitado en txb1 y txb2 respectivamente


(o
también puede pegar el valor almacenado en a y b).
en la celda c,d, y e, debe pegar lo contenido en d,e, y f de excel1.

lo hago de esta forma ya que el excel1 tiene aproximadamente 2000


registros
(filas) y necesito ir generando una a una una plantilla para cada registro
con otros cálculos adicionales.

Bueno Hector espero entiendas lo que quiero hacer y que no se haya quedado
nada en el tintero, por tu colaboración mil gracias.

sin ánimo de abusar de tus conocimientos pero con las ganas de aprender,


voy
exponerte otro caso que tiene que ver con esta misma labor que estoy
tratando de organizar en donde trabajo:

Una vez hecho lo anterior, en el excel2 hoja Plantilla, en las siguientes
celdas al copy realizado, viene lo siguiente:

a15 = DatoA a16 = Dato C
f15 = DatoB f16 = DatoD
etc...

tengo unos txb y combobox que solicitan y/o desplegan información.

Una vez el usuario diligencia la plantilla, oprime el boton "Generar".
este botón debe hacer los siguientes cuatro pasos:

1-. validar que los txb y combos no estén en blanco, esto lo hice pero


campo
por campo con las instrucción

if combodato1.value = "" then msgbox("debe digitar")
if combodato2.value = "" then msgbox("debe digitar")
if txbdato1.text = "" then msgbox("debe digitar")
if txbdato2.text = "" then msgbox("debe digitar")

no se si exista forma de capturar todos al tiempo y emitir un solo msgbox

2-. Con esto no he podido: debe crear una hoja de cálculo nueva cuyo


nombre
corresponde a un stándar así: PLA-contador
en donde contador es un número consecutivo que debe correr automático cada
vez que se cree la nueva hoja ejmplo: contador = 0 la primera vez que el
usuario oprima el botón la hoja se llamará PLA-1, cuando vuelva a oprimir
PLA-2.
las hojas creadas deben irse generando a la derecha, después de la última
creada, hoy me la inserta a la izquierda (como cuando se crea una hoja


desde
excel)

3-. con esta tampoco he podido debe copiar lo contenido en la columna a y


f
comenzando en la fila 6 además debe copiar en la columna b (en las celdas)
los valores que están digitados en los txb y combos de la hoja "plantilla"

4-. salvar el libro: esto lo hago con Workbook.save

hector gracias por la ayuda que me puedas brindar



Cordialmente.
JORGE ENRIQUE FORERO TOVAR
Gerencia Nacional de Automóviles
Cel. 311 859 75 33


"Héctor Miguel" escribió en el mensaje
news:
> hola, Jorge !
>
> > Lo que me impide enviar el rango completo es que
> > realmente las celdas no combinadas que necesito enviar son las de la
columna D
> > es decir, enviar A y B combinadas y la D no combinada, sin pasar por


la
C
>
> un 'ligero' detalle omitido :))
> no se como sean las instrucciones en el codigo que usas -?-
> prueba con una instruccion +/- como la siguiente:
>
> Worksheets("hoja1").Range("a3:b5,d3:d5").Copy _
> Worksheets("hoja2").Range("a3")
>
> si cualquier duda [o salen mas detalles del tintero]... comentas ?
> saludos,
> hector.
>
> __ las consultas anteriores __
> >> >> tengo una macro que me envia la informacion de una celda a otra


hoja
de calculo.
> >> >> Lo que necesito es enviar la informacion de celdas combinadas asi:
Ejemplo:
> >> >> Celda a3, a4, a5 combinadas en una, dato almacenado: Tema A
> >> >> Celda b3, b4, b5 combinadas en una, dato almacenado: Caso 5
> >> >> Celda c3 NO combinada Dato almacenado A5-1
> >> >> Celda c4 NO combinada Dato almacenado A5-2
> >> >> Celda c5 NO combinada Dato almacenado A5-3.
> >> >> en la hoja que las copie, deben quedar igual, ed decir las
combinadas y las no combinadas
> >>
> >> existe 'algo' que te impida copiar el rango completo: -> 'A3:C5'


???
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida