Enlazar dos combobox por consulta en un textbox

Buenas Noches, queria pedirles su ayuda, no he podido hacer esta consulta, en el codigo anexo tengo dos Hojas (Hoja1 y Hoja2) en el formulario al digitar un NIT me tra e los datos de la columna "C" y la columna "D" en donde si aparece ese NIT con mas ciudades se busca la ciudad y cambian igual los datos en el TEXTBOX2 en este momento esta todo bien, pero no puedo enlazar ese combobox1 para que al cambiar de ciudad me aparezcan las cedulas que estan en la HOJA2 y que esten realcionadas con el NIT de consulta. Es decir al Cambiar de Ciudad me aparezcan las cedulas que tiene esa ciudad y que estan bajo ese NIT y asi poder seleccionar solo este detalle.
Les agradezco su ayuda pues vengo revisando este tema y no se por donde acotar la solucion.
Muchas Gracias.
Codigo:
Private Sub ComboBox1_Change()
Dim i As Long, x As Long
If Me.Tag = 0 Then Exit Sub
i = ComboBox1.ListIndex
x = ComboBox1.Column(1, i)
With Sheets("HOJA1")
TextBox2 = .Range("C" & x)
End With
End Sub
Private Sub ComboBox2_Change()
Dim i As Long, x As Long
If Me.Tag = 0 Then Exit Sub
i = ComboBox2.ListIndex
x = ComboBox2Column(1, i)
With Sheets("HOJA2")
End With
End Sub
Private Sub CommandButton1_Click()
Dim myrange As Range, i As Long, Celdi As Range, NameCeldi
If Me.TextBox1.Value = "" Then
Me.TextBox1.SetFocus
MsgBox "Para Buscar debe Ingresar NIT ", vbOKOnly + vbInformation, "AVISO"
Exit Sub
End If
Application.ScreenUpdating = False
On Error GoTo ConError
Sheets("HOJA1").Select
Range("A2").Select
Cells.Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
i = Sheets("HOJA1").Range("A" & Rows.Count).End(xlUp).Row
Set myrange = Sheets("HOJA1").Range("A2:A" & i)
ComboBox1.Clear
Me.Tag = 0
Set Celdi = myrange.Find(What:=TextBox1)
If Not Celdi Is Nothing Then
NameCeldi = Celdi.Address
Do
With ComboBox1
.AddItem Sheets("HOJA1").Range("B" & Celdi.Row)
.Column(1, .ListCount - 1) = Celdi.Row
End With
Set Celdi = myrange.FindNext(Celdi)
Loop While Not Celdi Is Nothing And Celdi.Address <> NameCeldi
End If
If ComboBox1.ListCount > 0 Then
With ComboBox1
.Visible = True
.ListIndex = 0
End With
With Sheets("HOJA1")
i = ComboBox1.Column(1, 0)
TextBox2 = .Range("C" & i)
End With
Else
MsgBox "No existen coincidencias con el dato facilitado", , ""
With TextBox1
.Value = Empty
.SetFocus
End With
End If
Me.Tag = 1
Set myrange = Nothing
Exit Sub
ConError:
MsgBox ("Este Nit no Presenta este tipo de Inconsistencia")
Me.TextBox1.SetFocus
Me.Tag = 1
Set myrange = Nothing
Exit Sub
End Sub

Añade tu respuesta

Haz clic para o