Mensaje de error al escribir en una celda excel

Buenos días y gracias por atenderme.
Tengo un programilla que me copia unos valores mediante formulario en una hoja (datos). Te copio el código para ponerte en situación.
Private Sub Guardar_Click()
   If MsgBox("¿Seguro que desea cargar los datos?", vbQuestion + vbYesNo, "CONFIRMACION") = vbNo Then
   TextBox3 = Empty
   Exit Sub
   End If
   Dim x As Integer
   x = Choose(ComboBox1.ListIndex + 1, 4, 18, 33, 39, 43, 46, 55, 61, 66, 72, 75, 80, 117, 122, 124, 126, 144, 169, 172, 197, 202) + ComboBox2.ListIndex
   Sheets("Datos").Cells(x, 4) = Sheets("Datos").Cells(x, 4) - SalidaMaterial.TextBox3.Value
   TextBox3 = Empty
   MsgBox ("La operación se ha realizado correctamente")
End Sub
Lo que ue hace es sumarme el valor del textbox en función de los combobox. Me lol hace bien, pero si selecciono una opción en el primer combobox y ninguna en el segundo me copia el valor a una celda que no quiero. En este caso la celda 3, 17, 32, 38, 42, etc,
¿Cómo puedo quitar esta opción? Y que me de un mensaje de error cuando no haya seleccionado una opción en el combobox 2.

1 respuesta

Respuesta
1
Una posible solución seria colocar un condicional que verifique que ComboBox2 no este vacío.
El código podría ser algo como esto:
If ComboBox2.Text = "" Then
        MsgBox ("ComboBox2 no seleccionado")
        Exit Sub
    End If
Pruébalo y me dices que tal te fue
Saludos
http://formulas-en-excel.blogspot.com/
Gracias, lo he probado y funciona, lo que pasa ahora es que si antes he seleccionado un producto en el combobox, se me queda y me hace otra vez lo mismo. ¿Cómo puedo vaciar el combobox cada vez que opero con el?
Un saludo.
Pruebe colocando ComboBox2. Text = "" como ultima accion de la macro. Seria algo así como:
   TextBox3 = Empty
   MsgBox ("La operación se ha realizado correctamente")
   ComboBox2.Text = ""
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas