Copia datos de un libro a otro

Quiero plantearles la siguiente duda

Tengo dos libros. Libro A y Libro B

En el libro A, tengo una hoja (Hoja1) con valores numéricos en la columna A (ejemplo A1=10, A2=5, A3=8

A4=6, A5=5 etc.

En el libro B, tengo una hoja (Hoja1) y en la columna L puedo tener tres tipos de valores en las celdas (vacía, con valor numérico en color o con valor 0,00 en color negro) (ejemplo L1=vacía, L2=valor numérico en color, L3=valor numérico en color, L4=0,00 en color negro, L5=vacía, L6=vacía, L7=0,00 en color negro etc)

Lo que necesito por medio de una macro, es que situándome en el libro B y celda L1, busque el primer valor 0,00 en color negro y copie el valor del libro A celda A1, después vuelva al libro B y siga la columna L para abajo hasta encontrar el siguiente valor 0,00 en color negro y pegue el valor A2 del libro A y así sucesivamente.

2 Respuestas

Respuesta
2

Te anexo la macro

Sub Copiar_Datos()
'Por.Dante Amor
    Set l1 = ThisWorkbook               'libro B
    Set h1 = l1.Sheets("Hoja1")         'hoja 1 del libro B
    Set l2 = Workbooks("libroA.xlsx")
    Set h2 = l2.Sheets("Hoja1")
    '
    j = 1
    For i = 1 To h1.Range("L" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "L") = 0 And h1.Cells(i, "L") <> "" Then
            h1.Cells(i, "L") = h2.Cells(j, "A")
            j = j + 1
        End If
    Next
    MsgBox "Fin"
End Sub

Si el valor de la celda es 0 (cero), entonces la macro está bien, pero si en la celda tienes el texto "0,00", entonces cambia en la macro esta línea

If h1.Cells(i, "L") = 0 And h1.Cells(i, "L") <> "" Then

por esta:

If h1.Cells(i, "L") = "0,00" And h1.Cells(i, "L") <> "" Then

.

.

Muchas gracias por la respuesta.

Dante gracias pero no me funciona,

Tengo 3 tipos de datos

Celda vacía

Celda con valor numérico en color

Celda con valor 0,00 en negro

La cuestión es que el 2º caso (Celda con valor numérico en color) puede tener valor 0,00 en color rojo o azul por ejemplo o negro pero en negrita.

Muchas gracias

Envíame tu archivo para ver el número de color.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “dudaexcel

Te anexo la macro

Sub Copiar_Datos()
'Por.Dante Amor
    Set l1 = ThisWorkbook               'libro B
    Set h1 = l1.Sheets("Hoja1")         'hoja 1 del libro B
    Set l2 = Workbooks("LIBRO A.xlsx")
    Set h2 = l2.Sheets("Hoja1")
    '
    j = 1
    For i = 1 To h1.Range("L" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "L") = 0 And h1.Cells(i, "L") <> "" And _
           Not h1.Cells(i, "L").HasFormula And h1.Cells(i, "L").Font.ColorIndex = 1 Then
            h1.Cells(i, "L") = h2.Cells(j, "A")
            j = j + 1
        End If
    Next
    MsgBox "Fin"
End Sub

.

.

Respuesta

Echa un vistazo a esto es posible te interese también

https://youtu.be/hJHTspgfavI

https://youtu.be/TOXRk5oWLW4

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas