Jump to content

[SOLUCIONADO] Pasar datos de una celda de un libro a otra celda de otro libro.


arperez

Recommended Posts

Estimados

Les comento otra duda que tengo relacionada con el pasar datos de una hoja a otra, que también he visto que otras personas han comentado, pero en este caso necesito pasar los datos de un libro que tiene 980 hojas a otro, pero no todos los datos, si no determinados valores de alguna celdas por ejemplo.

Tengo un libro que se llama CertificadoAnalisis.xls, el mismo tiene 980 hojas, me gustaría pasar los datos de las celdas de color amarillo al libro Certificado.xls para a una hoja del libro para luego usar validación de datos y crear las hojas con el nuevo formato del libro certificado.xls.

¿Podrían explicarme si es posible realizar esto y como?

Sin más en espera de su cordial respuesta.

Saludos.

Andry.

Certificado.zip

CertificadoAnalisis.zip

Link to comment
Share on other sites

Estimados.

He intentado ver si puedo lograr pasar los datos del libro CertificadoAnalisis.xls al libro Certificado.xls usando este codigo, pero no me funciona.


Sub Copiar()
Application.ScreenUpdating = False
ruta = ActiveWorkbook.Path
fil = ActiveCell.Row
Range("A" & fil & ":B" & fil).Copy
Workbooks.Open Filename:=ruta & "\Certificado.xls"
uf = Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
Range("A" & uf).PasteSpecial Paste:=xlValues
ActiveWindow.Close (1)
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
[/CODE]

¿Por favor, alguno de ustedes tendrá alguna idea sobre como hacer esto?

En espera de su atención y respuestas.

Atentamente.

Saludo.

Andry.

Link to comment
Share on other sites

Estimados.

Aqui nuevamente, con mi problema estuve mirando algunos temas de como pasar informacion de una hoja a otra de otro libro pero no lo consigo. Hasta el momento hice este codigo para moverme por las diferentes hojas del libro CertificadoAnalsis.xls y abrir el libro Certificado.xls, pero aun no logro copiar los datos que necesito pasar.

Private Sub Copia_Pega()
'Evitamos el parpadeo de la macro mientras trabaja
Application.ScreenUpdating = False
ruta = ActiveWorkbook.Path
'Creamos 1 variable donde almacenamos los nombre de las hojas del libro.
Dim nom As String
'Creamos una variable para el valor de la cantida de hojas del libro.
Dim Canthoja As Integer
'Contamos las hojas.
Canthoja = Sheets.Count
'Creamos un ciclo desde 0 hasta la ultima hoja del libro.
For i = 0 To Canthoja
'Pasamos el nombre de la hoja activa a la variable nom.
nom = ActiveSheet.Name
'Creamos una condición para movernos por las hojas.
If ActiveSheet.Name <> Sheets(Sheets.Count).Name Then
'Enviamos un mensaje con el nombre de la hoja en la que estamos.
Range("A8").Select
Selection.copy
MsgBox nom
Workbooks.Open Filename:=ruta & "\Certificado.xls"
'entonces pasamos a la siguiente hoja
ActiveSheet.Next.Select
End If
'Nos movemos a la proxima hoja.
Next i
Application.ScreenUpdating = True
'Volvemos la primera hoja del libro.
Sheets(1).Select
End Sub[/CODE]

¿Alguno tiene alguna sugerencias? ¿Me pueden ayudar? :mad:

Saludos. :(

Link to comment
Share on other sites

Estimados

Gracias por leer tema, pero les comento que lo he solucionado usando este codigo vba:

Sub Copia_formato()
'Evitamos el parpadeo de la macro mientras trabaja
Application.ScreenUpdating = False
'Creamos 1 variable donde almacenamos los nombre de las hojas del libro.
Dim nom As String
'Creamos una variable para el valor de la cantida de hojas del libro.
Dim Canthoja As Integer
'Contamos las hojas menos una.
Canthoja = Sheets.Count - 1
'Creamos un ciclo desde 0 hasta la ultima hoja del libro menos una.
For i = 0 To Canthoja
'Pasamos el nombre de la hoja activa a la variable nom.
nom = ActiveSheet.Name
'Creamos una condición para movernos por las hojas.
If ActiveSheet.Name <> Sheets(Sheets.Count).Name Then
'Seleccionamos la hoja3 y copiamos el rango A1:AH56.
Worksheets("Certificado").Range("K1:AR56").Copy
Worksheets(nom).Range("K1").Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'En la hoja activa pego.
ActiveSheet.Paste
'Elimino las formulas y dejo los valores.
Selection.Value = Selection.Value
'Borro las columnas desde la A a J.
Range("A:J").Delete
'Creo un ciclo por each desde la primera fila hasta el rango A1:A57
For Each fila In Range("A1:A57")
'Verifico que las filas tengan la altula 12.75 y sino lo tienen les paso el valor.
If fila = Empty Then fila.EntireRow.RowHeight = 12.75 Else fila.EntireRow.RowHeight = 12.75
'Salto a la siguiente fila.
Next fila
'entonces pasamos a la siguiente hoja
ActiveSheet.Next.Select
End If
'Nos movemos a la proxima hoja.
Next i
Application.ScreenUpdating = True
'Volvemos la primera hoja del libro.
Sheets("Certificado").Select
End Sub[/CODE]

Y usando la formula

[CODE]EXTRAE(texto;posición_inicial;núm_de_caracteres)[/CODE]

en cada una de las celdas donde necesitaba la información.

Les dejo el código por si alguno les interesa o por si desean jugar un poquito con el para realizar algunas mejoras.

Doy por cerrado este tema.

Saludos.

Gracias.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Crear macros Excel

  • Posts

  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy