Buscar y seleccionar

Hola Mauricio.
En primer lugar agradecerte tu amable respuesta a mi petición de tu ejemplo de facturación.
Me he leído todas las consultas que te han hecho, y estoy un poco atrancado, por lo que solicito tu, como siempre, amable ayuda.
Tengo el siguiente problema:
Un formulario en el que deben aparecer los siguientes campos:
Una clave, que puede estar repetida.(ClaveObra)
Un Organismo, que puede estar repetido, pero no en la misma ClaveObra.(cboOrganismo)
Un lisbox (listOrg), en el que deben aparecer, todos los organismos que tengan igual ClaveObra.
Y dos campos de fecha.Que son fechas de petición y concesión.
A este Form se accede desde un botón desde otro form, y lo primero que hace es ordenar los registros
que están en una hoja por orden de menor a mayor (Al inicializar).
Al activar el UserForm tengo el siguiente código.
Private Sub UserForm_Activate()
Dim strBuscado As String
Dim NumFilas As Integer
Dim CasillaInicial As String, CasillaFinal As String
fila = ActiveCell.Row
'Solicitamos un valor a buscar
strBuscado = Trim(txtClaveObra.Text)
txtTitulo.Text = frmExpediente.txtTitulo.Value
'Verificamos que no este vacio
If strBuscado <> "" Then
'Buscamos el valor
Set Encontrado = Sheets("Otros").Range("A:A").Find(strBuscado, , LookIn:=xlValues)
If Not Encontrado Is Nothing Then
'Si lo encontro muestra los datos en las cajas
cboOrganismo.Text = Encontrado.Offset(0, 2).Value
txt01.Text = Format(Encontrado.Offset(0, 3).Value, "dd-mm-yyyy")
txt02.Text = Format(Encontrado.Offset(0, 4).Value, "dd-mm-yyyy")
txtNota.Text = Encontrado.Offset(0, 5).Value
Else
'Notifica que no encontro nada
MsgBox "ACTUALMENTE ESTA OBRA NO TIENE NINGUN ORGANISMO AFECTADO"
cboOrganismo.SetFocus
End If
Else
'Notifica que no se proporciono dato a buscar
MsgBox "No hay nada que buscar"
End If
'-----------------------------------------------------------------------------------------
'RUTINA PARA PRESENTAR LOS ORGANISMOS AFECTADOS
CasillaInicial = ActiveCell.Offset(0, 2).Address
Do While Encontrado = ActiveCell.Value
ActiveCell.Offset(1, 0).Activate
NumFilas = NumFilas + 1
Loop
ActiveCell.Offset(-1, 0).Activate
CasillaFinal = ActiveCell.Offset(0, 2).Address
frmOtrosOrg.ListOrg.RowSource = "CasillaInicial:CasillaFinal" 'OJO aquí no reconoce variables
ActiveCell.Offset(-NumFilas, 0).Activate
'-----------------------------------------------------------------------------------------
End Sub
Todo me sale según lo tengo planteado, excepto que la "Rutina para presentar los organismos
afectados" (código en frmOtrosOrg)que no me reconoce las variables CasillaInicial, CasillaFinal, aunque estas tomen el valor correcto.
Como puedes comprobar, estoy muy verde (principiante).
Te agradezco tu ayuda de antemano.
Te envío lo que tengo hecho, para que te hagas una idea.Archivo CertObra.zip
Roberto.

1 respuesta

Respuesta
1
Solo quítale las comillas a tus VARIABLES...
frmOtrosOrg.ListOrg.RowSource = CasillaInicial & ":" & CasillaFinal

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas