Base de datos para facturar.

Gracias por el tiempo prestado a esta pregunta y por su respuesta.
Voy a crear en una hoja de excel, una lista de clientes con toda su información y en una columna designarle un numero de cliente único.
En otra hoja del mismo libro, crear el formato de factura de mi negocio.
Lo que quiero es que al poner en la factura el numero de cliente designado en la primera hoja, aparezcan los demás datos automáticamente (dirección, teléfono, r.f.c, e.t.c.).
Si me pueden ayudar con las fórmulas y explicarme más o menos como debo hacerlo. Gracias.

1 respuesta

Respuesta
1
Si quieres hacerlo con Funciones predeterminadas de Excel, seria con BUSCARV, estos son sus parámetros y como funcionan:
=BUSCARV(Dato_Buscado, Rango_donde_Buscar, Columnas, Verdadero/Falso)
Dato_Buscado = Obviamente seria el Numero Cliente
Rango_donde_Busacr = Seria el Rango de la Hoja donde estan tus Datos
Columnas = Numero de Columnas que "Brincará" desde el No. de Cliente
Verdadero = Busca el Dato exacto
Falso = Busca dato aproximado
Tendrías que poner la Fórmula en las Celdas que quieras que se actualicen con los datos según el No. de Cliente, o podrías poner una macro como esta:
Suponiendo que le asignaste un "Nombre" a las celdas que quieras Actualizar, y que se llamen así:
Cliente, Nombre, Direccion, RFC, Telefono
En el evento WorkSheet_Change de la hoja del Formato de la Factura pon esto:
Dim NoClie As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("cliente").Address Then
    NoClie = Range("Cliente")
    Set V = Sheets("Datos").Range("A:A").Find(NoClie, , , xlWhole)
    If V Is Nothing Then
        MsgBox "No. Cliente inexistente, verifiquelo", vbInformation
        With Range("Cliente")
            .Value = ""
            .Select
        End With
        Exit Sub
    End If
    With Sheets("Datos").Range(V.Address)
        Range("Nombre") = .Offset(0, 1).Value
        Range("Direccion") = .Offset(0, 2).Value
        Range("RFC") = .Offset(0, 3).Value
        Range("Telefono") = .Offset(0, 4).Value
    End With
End If
End Sub
Y al capturar el No. de Cliente, los demás datos se pondrán sólitos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas