¿Cómo cargar 2 formularios vba independientes?

Tengo un archivo con 3 hojas (INICIO, LLAMADAS, VISITAS)

En la hoja INICIO tengo botones "cargar clientes" y carga los clientes de cada hoja (LLAMADA, VISITA)

Cuando cargo los clientes de Registro Llamadas todo funciona bien, el problema lo tengo al tratar de cargar los clientes de Registro Visitas

Gracias por su apoyo!

**CODIGO USERFORM2****

Private Sub ComboBox2_Change()
Fila = Me.ComboBox2.ListIndex + 3
For i = 1 To 4
    Cells(Fila, 2).Activate
Next i
NoClienteV = ActiveCell.Offset(0, 1)
NoContratoV = ActiveCell.Offset(0, 2)
FechaTraspasoV.Caption = ActiveCell.Offset(0, 3)
HoraTraspasoV.Caption = Format(ActiveCell.Offset(0, 4), "HH:mm")
End Sub
Private Sub NombreCliente_Change()
UF = Range("b300000").End(xlUp).Row
rango = "b1:a" & UF
variable = ComboBox2
If variable = "" Then Exit Sub
Set resultado = Range(rango).Find(variable)
    If Not resultado Is Nothing Then
        Range(resultado.Address).Select
       TextBox2 = ActiveCell.Offset(0, 2)
    Else
        MsgBox "No existe el dato"
    End If
End Sub
Private Sub UserForm2_Initialize()
Dim mytime, mystr
mytime = #5:00:00 PM#
'Deseo obtener las horas en formato de 24hr en lugar de 5:00 pm 17:00
mystr = Format(mytime, "h:m") 'Returns 17:00
ObservacionesV = "Sin Observaciones"
Labe4V.Caption = Worksheets("INICIO").Range("B1") 'Establece el número del Despacho
FechaTraspasoV.Caption = Worksheets("INICIO").Range("B2") 'Establece la fecha del traspaso
HoraTraspasoV.Caption = Worksheets("INICIO").Range("B3") 'Establece la hora del traspaso
HoraTraspasoV = Format(mystr) 'Asigna a la hora de Traspaso el formato de hora asignado a la variable mystr
HoraVisitaV = Format(mystr) 'Asigna a la hora de llamada un formato de 24hrs
'Describimos los valores de registro en SAP
    With Userform2.BoxSAPV
        .AddItem ("SI")
        .AddItem ("NO")
    End With
    With Userform2.BoxVisita
      'Describimos los valores de registro RESULTADO DE LA LLAMADA
      .AddItem ("Domicilio inexistente")
      .AddItem ("Cambió de domicilio")
      .AddItem ("No conocen la dirección")
      .AddItem ("Casa abandonada")
      .AddItem ("Sin referencias")
    End With
DiaVisita = Format(Date, "dd/mm/yy")
HoraVisita = Format(Time, "HH:mm")
Sheets("visita").Select
Range("b3").Select
Do While ActiveCell <> Empty
ComboBox2.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Private Sub RegistrarButtonV_Click()
'ActiveWorkbook.Close savechanges = True
ActiveWorkbook.Save
 If ActiveCell.Offset(0, 5) <> Empty Then
  MsgBox "Este registro ya se realizó"
If MsgBox("¿Deseas modificar registro?", vbYesNo) = vbNo Then
Exit Sub
End If
End If
 ActiveCell.Offset(0, 5) = DiaVisita
ActiveCell.Offset(0, 6) = HoraVisita
ActiveCell.Offset(0, 7) = BoxVisita
 ActiveCell.Offset(0, 8) = BoxSAPV
 ActiveCell.Offset(0, 9) = ObservacionesV
ActiveCell.Offset(0, 10) = ResponsableV
With Me
'Limpiamos datos del formulario
.ComboBox2 = ""
.NoClienteV = ""
.NoContratoV = ""
.BoxSAPV = ""
.BoxVisita = ""
.ObservacionesV = "Sin Observaciones"
.ResponsableV = ""
End With
End Sub
Private Sub CerrarButtonV_Click()
Unload Me
End Sub

2 Respuestas

Respuesta
1

Esta es la parte que utilizar para realizar la carga del combo:

Sheets("visita").Select
Range("b3").Select
Do While ActiveCell <> Empty
   ComboBox2.AddItem ActiveCell.Value
   ActiveCell.Offset(1, 0).Select
Loop

Seleccionas la hoja "visita", seleccionas la celda "B3". 

Preguntas si la celda B3 es diferente de vacío, si la celda B3 es igual a vacío, entonces no carga ningún dato.


Comentas que tienes problemas con el userform2, pero cuál es el problema que tienes, estoy asumiendo que no está cargando datos. Puedes comentar qué problema tienes exactamente.

En efecto Dante, el Código es casi igual en el UserForm1 y UserForm2. No me carga los nombres como lo hace el UserForm1 de la imagen.Adjunto imagen de propiedades del combox2

Y qué tienes en la hoja "visita" en la celda "B3"

O envíame tu archivo para revisarlo.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Irving Gasca” y el título de esta pregunta.

Hola, Dante!

Te he enviado el archivo a través de mi buzón [email protected]

Gracias por la atención!

Saludos!

En el archivo que me enviaste no está el evento initialize.

Solamente agrega el evento y los clientes se cargan al combo:

Private Sub UserForm_Initialize()
    Sheets("visita").Select
    Range("b3").Select
    Do While ActiveCell <> Empty
       ComboBox2.AddItem ActiveCell.Value
       ActiveCell.Offset(1, 0).Select
    Loop
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
Respuesta
1

Confirma el nombre del combobox por o que veo esta todo bien solo seria que tuviera un nombre diferente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas