.23.11.16
Buenos días, Rafael
Entiendo que las listas desplegables se alimentarán de tus listado de items de la Hoja 1 y que, por tanto tendrás un rango con nombre para los códigos y otro rango para las descripciones.
Algo así como esto:

Si no fuera así, crea esos dos nombres de rango
En este ejemplo, como ves, lo llamé LDescr. Mientras que el de al lado LCod. Pero pueden ser cualquiera.
Como sabrás eso te permite, además, usarlos para la lista de validación y -de esa manera- te aseguras de que lo que busques, efectivamente esté en la tabla.
Siendo así, la siguiente rutina basada en el evento de cambio en las columnas B o C de la hoja de búsqueda hace lo que solicitas.
Para que funcione, activa el editor de Visual Basic (presiona Alt+F11) y en el panel de la izquierda busca la hoja donde quieres que esto ocurra. Da doble click sobre ella. (Otra forma de llegar a este punto es hacer click derecho sobre la solapa de esta hoja y elegir la opción "Ver Código).
Allí pega el siguiente procedimiento de VBA:
Private Sub Worksheet_Change(ByVal Target As Range)
'---- Variables modificables ----
'=== RAFAEL, modifica estos datos de acuerdo a tu proyecto:
HojaTabla = "Hoja 1"
ColSeleCod = "B" 'columna donde se selecciona el código
ColSeleDescr = "C" 'columna donde se selecciona la descripción
RangoCod = "LCod" 'rango de lista de Codigos
RangoDes = "LDescr" 'rango de lista de Descripciones
'---- fin Variables
'
'---- inicio de rutina:
'
ColSeleCod = Range(ColSeleCod & "1").Column
ColSeleDescr = Range(ColSeleDescr & "1").Column
If Target.Column = ColSeleCod And Not IsEmpty(Target) And Target.Rows.Count = 1 Then
On Error Resume Next
Encontrado = Sheets(HojaTabla).Range(RangoCod).Find(What:=Target.Value, LookAt:=xlWhole).Address
If Err.Number = 0 And Len(Encontrado) > 0 Then
Application.EnableEvents = False
Target.Offset(0, 1).Value = Sheets(HojaTabla).Range(Encontrado).Offset(0, 1).Value
Application.EnableEvents = True
End If
ElseIf Target.Column = ColSeleDescr And Not IsEmpty(Target) And Target.Rows.Count = 1 Then
On Error Resume Next
Encontrado = Sheets(HojaTabla).Range(RangoDes).Find(What:=Target.Value, LookAt:=xlWhole).Address
If Err.Number = 0 And Len(Encontrado) > 0 Then
Application.EnableEvents = False
Target.Offset(0, -1).Value = Sheets(HojaTabla).Range(Encontrado).Offset(0, -1).Value
Application.EnableEvents = True
End If
End If
End Sub
Nota que, al principio del código, hay unas variables para que lo adaptes a tu archivo.
A partir de ahora, si eliges un código en la columna B, aparecerá la descripción en la columna C y, cuando elijas una descripción en la columna C apararecerá el código en la columna B, tal como solicitaste.
Coméntame si funciona OK -y, en tal caso, agradeceré que califiques mi contribución- o escribeme de nuevo aquí, si necesitas más apoyo con esto.
Un abrazo
Fernando
.