Macro Modificar información desde Formulario hacia hoja de excel.
Tengo el siguiente problema con la macro (Formulario) Modificar Datos (No puedo adjuntar imagenes)
"Buscar por
Casilla 1 "Bin"
Boton 1 "Buscar"
Boton 2 "Modificar"
"Datos a modificar"
Casilla 2 "Emisor"
Casilla 3 "Correo 1"
Casilla 4 "Correo 2"
Combo 5 "Pais" (Este es un combo desplegable que se aliemtna de otra hoja)
Boton 3 "Confirmar datos"
Boton 4 "Salir"
En la casilla 1 "Buscar por bin" (ingreso la info a buscar) y al dar click al boton "Buscar"
Este no esta funcionando, solo me arroja el mensaje de error" (que yo puse mismo puse en caso este vacia la casilla), y no logra conectar con la hoja de excel DATOS donde esta la info a consultar.
Continuo, luego una vez ubicada la data, al darle al Boton "Modificar datos" recien poder modificar lo que se necesite.
Saludos
Aqui el codigo:
Private Sub CommandButton1_Click()
Dim i As Double
Dim final As Double
Dim hoy As Date
Dim validar As Boolean
Application.ScreenUpdating = False
'Obligamos a buscar BIN antes de grabar datos
If MODIFICAR_CLIENTE.TextBox1.Enabled = False Then
MsgBox "Para grabar los datos primero buscar el bin, despues modificar y una vez que hayas completado los cambios, pulsa en grabar datos", vbInformation, "CONFIRMAR DATOS"
Exit Sub
End If
'Obligamos a buscar BIN antes de grabar datos
If MODIFICAR_CLIENTE.TextBox1.Locked = True Then
MsgBox "Para grabar los datos primero buscar el bin, despues modificar y una vez que hayas completado los cambios, pulsa en grabar datos", vbInformation, "CONFIRMAR DATOS"
Exit Sub
End If
'EMISOR
If MODIFICAR_CLIENTE.TextBox2 = Empty Then
MsgBox "DEBES INTRODUCIR EL EMISOR", vbInformation, "EMISOR"
Exit Sub
End If
'CORREO 1
If MODIFICAR_CLIENTE.TextBox3 = Empty Then
MsgBox "Debes introducir CORREO 1", vbInformation, "CORREO 1"
Exit Sub
End If
'CORREO 2
If MODIFICAR_CLIENTE.TextBox4 = Empty Then
MsgBox "Debes introducir CORREO 2", vbInformation, "CORREO 2"
Exit Sub
End If
'Elegimos pais
If MODIFICAR_CLIENTE.ComboBox5 = Empty Then
MsgBox "INDICA EL PAIS ORIGEN DEL BIN", vbInformation, "PAIS"
Exit Sub
End If
Worksheets("DATOS").Visible = True
Worksheets("DATOS").Select
final = Range("A" & Rows.Count).End(xlUp).Row + 1
'Verificamos que solo exista un BIN
CONTAR = Application.WorksheetFunction.CountIf(Sheets("DATOS").Range("A:A"), MODIFICAR_CLIENTE.TextBox1)
If CONTAR > 1 Then
MsgBox "a existe este BIN, revisa la informacion", vbCritical, "BIN"
Worksheets("DATOS").Visible = False
Application.ScreenUpdating = True
Exit Sub
End If
CONFIRMAR_MODIFICAR.Show
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub CommandButton3_Click()
Dim i As Double
Dim final As Double
Application.ScreenUpdating = False
Worksheets("DATOS").Visible = True
Worksheets("DATOS").Select
final = Range("A" & Rows.Count).End(xlUp).Row + 1
If MODIFICAR_CLIENTE.TextBox1.Enabled = Empty Then
MsgBox "INTRODUCE EL NUMERO DE BIN Y PULSA EN BUSCAR", vbInformation, "BUSCAR BIN"
End If
'Grabamos los datos modificados
For i = 2 To final
If Worksheets("DATOS").Cells(i, 1) = "" Then
final = i - 1
Exit For
End If
Next
For i = 2 To final
If MODIFICAR_CLIENTE.TextBox1 = Worksheets("DATOS").Cells(i, 1) Then
MODIFICAR_CLIENTE.TextBox2 = Worksheets("DATOS").Cells(i, 2)
MODIFICAR_CLIENTE.TextBox3 = Worksheets("DATOS").Cells(i, 4)
MODIFICAR_CLIENTE.TextBox4 = Worksheets("DATOS").Cells(i, 5)
Exit For
End If
Next
If MODIFICAR_CLIENTE.TextBox1 <> Empty Then
MsgBox "Algunos datos no son correctos, favor revisar", vbExclamation, "BUSCAR BIN"
End If
Worksheets("DATOS").Visible = False
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton4_Click()
'AL PULSAR MODIFICAR COMPROBAMOS QUE EL TEXTBOX18 ESTÁ ACTIVADO. SI NO LO ESTÁ LANZAMOS MENSAJE.
If MODIFICAR_CLIENTE.TextBox1.Enabled = False Then
MsgBox "INTRODUCE EL NUMERO DE BIN Y PULSA EN BUSCAR", vbInformation, "MODIFICAR BIN"
Exit Sub
End If
MsgBox "El formulario se ha habilitado para que puedas editar la informacion", vbInformation, "MODIFICAR CLIENTE"
Worksheets("DATOS").Visible = False
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_Initialize()
'Cargamos los combos
'PAIS
final = Worksheets("COMBOS").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To final
MODIFICAR_CLIENTE.ComboBox5.AddItem (Worksheets("COMBOS").Cells(i, 1))
Next
'Desactivamos la pantalla inicial
MODIFICAR_CLIENTE.TextBox2.Enabled = False
MODIFICAR_CLIENTE.TextBox3.Enabled = False
MODIFICAR_CLIENTE.TextBox4.Enabled = False
MODIFICAR_CLIENTE.ComboBox5.Enabled = False
End Sub
Private Sub TextBox1_Change()
'mayusculas
MODIFICAR_CLIENTE.TextBox1.Text = UCase(MODIFICAR_CLIENTE.TextBox1.Text)
End Sub
Private Sub TextBox2_Change()
'mayusculas
MODIFICAR_CLIENTE.TextBox2.Text = UCase(MODIFICAR_CLIENTE.TextBox2.Text)
End Sub
Private Sub TextBox3_Change()
'mayusculas
MODIFICAR_CLIENTE.TextBox3.Text = UCase(MODIFICAR_CLIENTE.TextBox3.Text)
End Sub
Private Sub TextBox4_Change()
'mayusculas
MODIFICAR_CLIENTE.TextBox4.Text = UCase(MODIFICAR_CLIENTE.TextBox4.Text)
End Sub
Private Sub ComboBox5_Change()
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub