Problema con fórmula para rellenar celdas en excel si en otra celda se cumple una condición

Tengo un libro para contabilidad, estoy adaptándolo a mis necesidades, y tengo el siguiente problema, dentro del libro tengo una hoja para generar facturas "factura", en dicha hoja hay un modelo de factura en el que puedo meter los datos del cliente, conceptos, importes, etc.. Una vez rellenados los campos, puedo imprimirla y mediante un botón, grabar la factura en otra hoja del mismo libro "ingresos", para ello intento usar la siguiente fórmula

=SI(ESERROR(BUSCARV(G4;INGRESOS!A2:AI200;26;FALSO));"";BUSCARV(G4;INGRESOS!A2:AI200;26;FALSO))

La idea es que si en la celda G4 de la hoja de "factura" que corresponde al numero de factura, introduzco un numero de factura ya creado y guardado en la hoja de "ingresos" me copie en la celda en la que he puesto esta fórmula, los datos que hay almacenados en la hoja de "ingresos" en la columna 26 y la fila que corresponda con el numero de factura.

Imaginemos que quiero recuperar el dato de la factura numero 5/2018, almacenado en la hoja de ingresos, esa factura se ha guardado en la fila 2, el numero de factura se guarda la celda c2 y el dato que quiero recuperar es el "concepto" que esta en la columna 26 de la fila 2, entonces mi intención es copiar la fórmula en la celda A16 de la hoja de facturas, que es la que corresponde al concepto, de tal forma que si en la casilla g4 de la hoja de facturas, en vez de generar una nueva factura quiero volver a imprimir una factura ya emitida, pongo el numero de factura y automáticamente en la celda A16 se haga una búsqueda en la hoja de ingresos y me copie el contenido de la celda AI2"columna 26 de la fila 2"

Imagen de la hoja "factura"

imagen de la hoja "ingresos"

2 Respuestas

Respuesta
1

He leído tu entrada completa y he visto las fotos.

Pero al final ¿Cuál es tu pregunta? Porque veo que das una descripción muy detallada de tu procedimiento, y es correcto todo lo que dices. Incluso lo de trasladar la fórmula a la casilla A16.

Pero no veo que hagas ninguna pregunta.

Respuesta
1

Pon la siguiente macro en un botón. Captura una factura en la celda G4 y presiona el botón.

La macro buscará la factura y si la encuentra te pondrá los datos de la factura en la hoja "factura". En la macro te puse algunos ejemplos. Avísame si necesita algo más o tienes alguna duda.

Sub Buscar_Factura()
'Por Dante Amor
    Set h1 = Sheets("factura")
    Set h2 = Sheets("ingresos")
    If h1.Range("G4").Value = "" Then
        MsgBox "Inserta un número de factura"
        Range("G4").Select
        Exit Sub
    End If
    '
    Set b = h2.Columns("A").Find(h1.Range("G4").Value, lookat:=xlWhole)
    If b Is Nothing Then
        MsgBox "No existe el número de factura"
        Range("G4").Select
        Exit Sub
    End If
    '
    'obtener los datos de la hoja ingresos
    conce = h2.Cells(b.Row, "Z").Value  'concepto
    fecha = h2.Cells(b.Row, "B").Value  'fecha factura
    fac_a = h2.Cells(b.Row, "E").Value  'factura a
    impor = h2.Cells(b.Row, "F").Value  'importe
    tot_f = h2.Cells(b.Row, "L").Value  'total factura
    'etc
    '
    'Poner los datos en la hoja factura
    h1.Range("A16").Value = conce
    h1.Range("G6").Value = fecha
    h1.Range("B10").Value = fac_a
    h1.Range("H16").Value = impor
    h1.Range("H36").Value = tot_f
    '
    MsgBox "Factura consultada"
End Sub

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas