Asignación de datos y búsqueda

En un sistema administrativo, al hacer una factura, se puede buscar un producto (previamente ya cargado al sistema), bien sea colocando su código o su nombre.
Entonces, si se introduce el código, este coloca el nombre que le tiene asignado, y viceversa, al colocar el nombre, se coloca el código que esta asignado al nombre.
Estoy haciendo un sistema administrativo en excel, pero solo he encontrado la manera en que al introducir un código, el valor asignado a este.
En si, la duda que tengo es cómo hacer que busque mediante el código, o mediante el nombre introducido.
Tengo una hoja de factura y otra aparte que es en la que registro los productos. Al introducir el código en la celda A1(por ejemplo), en la celda B1 coloca el nombre asignado a este. Esto lo consigo mediante las funciones coincidir y buscar en la misma hoja de los productos, y traingo los valores a la hoja de facturas.
El valor de la celda B1, en este caso, el nombre del producto, lo traigo mediante =+(Hoja y celda donde se encuentra)
¿Cómo puedo lograr que si intruduzco el código, me coloque el nombre, y si inroduzco el nombre, coloque el código?
Gracias de antemano por su ayuda.

1 respuesta

Respuesta
1
Con un pequeño código de VB te soluciono el tema en cuestión, si no sabes que hacer con este código, dímelo y te explico como ponerlo en tu hoja excel.
Yo he establecido que tu base de datos de códigos y nombres lo tiene en la hoja2 y en a:b
La tabla con el código en la columna A y los nombres en la columna B.
Espero que te sirva.
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$A$1" Then
      With Sheets("hoja2").Range("a:a")
          Set c = .Find(Target, LookIn:=xlValues)
          If Not c Is Nothing Then Range("b1") = c.Offset(0, 1)
      End With
   End If
   If Target.Address = "$B$1" Then
      With Sheets("hoja2").Range("b:b")
          Set c = .Find(Target, LookIn:=xlValues)
          If Not c Is Nothing Then Range("a1") = c.Offset(0, -1)
      End With
   End If
End Sub
Disculpa la tardanza.
Al principio ejecuta la macro correctamente, pero después me da un "Error de automatización"
No se que error puede ser, para ser más concreto, podrías darme tu correo y nos intercambiamos fichero muestra, o me defines exactamente el mesaje que te da excel y el momento en el que falla.
Lo mejor es verlo como se comporta con el fichero muestra, ya que hay veces que entran en juego otros condicionantes que para ti igual no son relevantes, pero tienen importancia.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas