En este grupo En todos

Foro de Excel



Pegar valores en celda combinada

che
Lic. en contaduria instituto tecnológi...
Escrito por Che Osorio
el 17/01/2013

Hola buenos dias, nuevamente por aqui soliciando su valiosa ayuda. Te comento que he realizado un pequeño formato de factura con codigo bidimensional (CBB), pero para poder llevar un registro y poder consultar folios anteriores agregue una hoja llamada "BD" y me gustaria que los datos de la hoja BD al seleccionar un folio mediante filtro, me copie los datos y los pegue en la hoja llamada factura. El problema viene que por presentacion de la factura combine celdas y al momento de decirle que copie pegue los valores me dice que hay un error, que el formato es distinto, ya iguale el formato, pero aun asi me dice que no se puede pegar solo los valores. Existira alguna forma de realizar esto con una macro y mediante la macro seleccionar el numero de folio a copiar.
De ante mano gracias por su pronta respuesta.
Subo el libro para que sea mas facil su comprension del problema. "Factura CBB"

Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez
el 17/01/2013

Hola! Che
Una cosa es trabajar con celdas combinadas a los efectos de atender cuestiones "estéticas".
Pero otra muy distinta es que las tablas de datos las tengan.

Más específicamente y según mi experiencia: no hay idea más mala que trabajar datos en celdas combinadas ( ¿No estás experimentando problemas, acaso?)...

Un código que trabaje bajo estas condiciones tienes que pensarlo "por columnas". O sea:

Copias el rango B10:B13 (de la hoja BD) y lo pegas (en valores, si quieres) en B13:B16 (de la hoja FACTURA), y así sucesivamente.

¡Suerte!
Cacho R.

Che Osorio
Lic. en contaduria instituto tecnológi...
Escrito por Che Osorio
el 17/01/2013

Entiendo Cacho, originalmente no estaba asi, pero como me decia que el formato no coincidia, lo cambie igual que el formato original, pero aun asi me seguia dando el mismo mensaje. Por otra parte, mi intencion es crear una macro que copie los datos filtrados del primero al ultimo del mismo folio, el detalle es que como consigo que cuando solo sea 1 solo renglon que no se copien todas las demas celdas en blanco. Es decir si solo ingreso 1 concepto de servicio, solo se lleve ese dato unico, tal como lo hacen las tablas dinamicas que al seleccionar un folio traen los datos unicos a ese folio. Ya lo intente con las tablas dinamicas, pero no pude adecuarlo al formato de la factura.
Podras darme alguna pista por favor.

Che Osorio
Lic. en contaduria instituto tecnológi...
Escrito por Che Osorio
el 17/01/2013

Esta macho hace lo que te comento, el detalle es que no se en que estoy fallando al momento de aplicarlo a la hoja llamada factura:

Sub filtrar()
Hoja4. Range("A5:E30000"). AutoFilter Action:=AutoFilterCopy, CriteriaRange:= _
Hoja2. Range("O2"), CopyToRange:=Hoja2. Range("b13:p28"), Unique:=False
End Sub


Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez
el 17/01/2013

Parece que no fui claro con la idea de pegar por columna. Aquí te muestro como manejar la primera columna:
___

Sub Filtrar()
With Hoja4
. AutoFilterMode = False
. [b5]. CurrentRegion. AutoFilter 1, Hoja2. [o2]
filas =. AutoFilter.Range.Rows. Count - 1

. [b5]. Resize(filas, 1). Copy
Hoja2. [b13]. PasteSpecial -4163
End With
End Sub
___

Saludos, Cacho R.

Che Osorio
Lic. en contaduria instituto tecnológi...
Escrito por Che Osorio
el 22/01/2013

Hola Cacho, he logrado hacer lo que te habia comentado anteriormente con esta macro:

Sub FILTRO_FACTURA()
' Filtramos los datos a presentar en la factura
Hoja4. Range("A4:G30000"). AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Hoja4. Range("A1:B2"), CopyToRange:=Hoja5. Range("B12:F12"), Unique:=False
' Seleccionamos la factura para su revision
Sheets("FACTURA"). Select
Range("A1"). Select
End Sub

Funciona de maravilla, pero me gustaria que solo se ejecutara hasta la celda "B40:F40", ya que asi como lo tengo ahorita, al ingresar algun dato debajo de ("B12:F12") hasta la ultima celda hacia abajo las borra. Si no es mucha molestia y alguien puede ayudarme se los agradeceria mucho.