ComboBox a Celda (Copia solo el primero)

Quisiera pedir su ayuda con un formulario que me tiene loco.

No tengo claro donde esta el error, he realizado distintas pruebas y cambios.

Ocurre que en un formulario donde consulto una base de datos y que cargo seleccionando el usuario en un ComboBox, pretendo modificar algunos campos que están ubicados en distintos textBox y Combobox.

Actualizar la base de datos que esta en una hoja x.

El problema esta en que al actualizar, solo me modifica la primera instrucción, y no el resto y a la vez, el formulario se "refresca" mostrando los datos actualizados, pero con un solo cambio claramente.

¿Sera qué debo modificar algo en Userform_Initialize u otro valor?

Este es mi código, si pueden ver he intentado de distintos modos, con If..., con Active Cell, Con Offset, etc., pero siempre solo me modifica el ComboBox27 o el que tenga de los primeros. (Las columnas están bien, tampoco me copia los datos en otra celda, como yo pensé)


Private Sub CommandButton6_Click()
Application.ScreenUpdating = False
Sheet2.Activate

If Label70 = ActiveCell.Value Then

ActiveCell.Offset(0, 32) = ComboBox27.Text ' Vigente
Cells(ActiveCell, 24).Value = ComboBox25.Text ' Uniforme
If Label70 = ActiveCell.Value Then ActiveCell.Offset(0, 8) = TextBox7 ' Telefono

If CheckBox2.Value = True Then ActiveCell.Offset(0, 16) = ComboBox3.Text ' Grado
ActiveCell.Offset(0, 25) = TextBox91.Text ' Enfermedad
If CheckBox2.Value = True Then ActiveCell.Offset(0, 9) = TextBox8 ' Celular

End If
Application.ScreenUpdating = True
End Sub


3 Respuestas

Respuesta
1

Prueba reestableciendo el Application. ScreenUpdating a true, al terminar el proceso.

Respuesta
1

[Hola 

prueba esto 

fila = ActiveCell.Row
'
If Label10 = ActiveCell.Value Then
    Cells(fila, 32) = ComboBox27
End If

valora la respuesta para finalizar saludos!

Respuesta
1

Para mi sucede que usas active cell y estas en una hoja que no tiene esos datos por edo ni te trae los datos que requieres prueba usando en vez active cell refereciando a la hoja concreta es decir.

Sheets ("mihoja").ActiveCell.Offset(0, 9) = TextBox8 ' Celular

Visita http://programarexcel.com encontrarás cientos de macros de ejemplo

¡Gracias!

Revise bien, y me ocurrió nuevamente. No estoy seguro, pero tengo la impresión que tu respuesta se acercaba, ya que el formulario estaba siempre trayéndome la info de la fila activa, por más que yo hiciera cambios, lo que necesitaba era "congelar" la información rescatada.

Mis soluciones fueron dos (Ya que me ocurrió dos veces).

1.- Crear un userform nuevo con mismas características, solo que el ComboBox que trae los datos, lo reemplace por un TextBox en el nuevo formulario, y todos los datos del anterior se copiaron escondiendo el original y dejando esta copia para modificar . Y así la macros me leía los datos como si fueran nuevos y no desde la hoja.

2.- En el mismo formulario agregue un TextBox que me copia el valor del ComboBox. Con VLookup en VBA asigno la fila que quiero modificar, luego el ComboBox lo dejo en "Empty" y oculto, y ahora puedo modificar los datos ya que quedan "pegados" en el formulario y no se actualizaran de acuerdo a la celda activa.

Gracias todos por la orientación, de todos modos anote los datos que me dieron.

Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas