Detener macro si no cumple condición

Buenas tardes, tengo esta macro que lo que hace es tomar los valores de un formulario y los ingresa a una hoja de excel, mi pregunta es como puedo hacerle para que se detenga si el textbox3 no tiene $0.00, digamos que si tiene $15.00 se detenga la macro pero si cumple con su $0.00 se ejecute la macro.

La macro es esta:

Private Sub CommandButton3_Click()
 If TextBox3 = 0 Then
 x = MsgBox("Desea registar el Corte", vbYesNo)
If x = vbNo Then Exit Sub
End If
'Seleccionar hoja
Sheets("Corte").Select
'selecionar rango de celdas a insertar
Range("A10:S10").Select
'Inserta Celdas SEleccionadas
Selection.Insert Shift:=xlDown
'Copia y pega los rangos seleccionados
Range("A9:S9").Select
Selection.Copy
Range("A10").Select
ActiveSheet.Paste
'Finaliza apliaccion
Application.CutCopyMode = False
Range("C10").Select
'grabamos los datos en la primera fila vacía
'Fecha
ActiveCell = TextBox1
'Caja Chica
ActiveCell.Offset(0, 1) = CDbl(Replace(TextBox2, "$", ""))
'Total Efectivo
ActiveCell.Offset(0, 2) = CDbl(Replace(TextBox17, "$", ""))
'Diferencia
ActiveCell.Offset(0, 3) = CDbl(Replace(TextBox3, "$", ""))
'50 Centavos
ActiveCell.Offset(0, 4) = CDbl(Replace(TextBox4, "$", ""))
'1 Peso
ActiveCell.Offset(0, 5) = CDbl(Replace(TextBox5, "$", ""))
'2 Pesos
ActiveCell.Offset(0, 6) = CDbl(Replace(TextBox6, "$", ""))
'5 Pesos
ActiveCell.Offset(0, 7) = CDbl(Replace(TextBox7, "$", ""))
'10 Pesos
ActiveCell.Offset(0, 8) = CDbl(Replace(TextBox8, "$", ""))
'20 Pesos
ActiveCell.Offset(0, 9) = CDbl(Replace(TextBox9, "$", ""))
'50 Pesos
ActiveCell.Offset(0, 10) = CDbl(Replace(TextBox10, "$", ""))
'100 Pesos
ActiveCell.Offset(0, 11) = CDbl(Replace(TextBox11, "$", ""))
'200 Pesos
ActiveCell.Offset(0, 12) = CDbl(Replace(TextBox12, "$", ""))
'500 Pesos
ActiveCell.Offset(0, 13) = CDbl(Replace(TextBox13, "$", ""))
'1000 Pesos
ActiveCell.Offset(0, 14) = CDbl(Replace(TextBox14, "$", ""))
'ponemos el focus en el TextBox2
TextBox2.SetFocus
'limpiamos los textbox
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
TextBox9 = ""
TextBox10 = ""
TextBox11 = ""
TextBox12 = ""
TextBox13 = ""
TextBox14 = ""
TextBox15 = ""
TextBox16 = ""
TextBox17 = ""
TextBox18 = ""
TextBox19 = ""
TextBox20 = ""
TextBox21 = ""
TextBox22 = ""
TextBox23 = ""
TextBox24 = ""
TextBox25 = ""
TextBox26 = ""
TextBox27 = ""
TextBox28 = ""
End Sub

intente usar la función if que la tengo subrayada en la macro escrita arriba pero no la puedo hacer funciónar.

Gracias por su ayuda.

1 Respuesta

Respuesta
1

Esta instrucción

End If

La tienes que poner hasta el final de la macro asi:

Private Sub CommandButton3_Click()
If TextBox3 = 0 Then
    x = MsgBox("Desea registar el Corte", vbYesNo)
    If x = vbNo Then Exit Sub
    'Seleccionar hoja
    Sheets("Corte").Select
    'selecionar rango de celdas a insertar
    Range("A10:S10").Select
    'Inserta Celdas SEleccionadas
    Selection.Insert Shift:=xlDown
    'Copia y pega los rangos seleccionados
    Range("A9:S9").Select
    Selection.Copy
    Range("A10").Select
    ActiveSheet.Paste
    'Finaliza apliaccion
    Application.CutCopyMode = False
    Range("C10").Select
    'grabamos los datos en la primera fila vacía
    'Fecha
    ActiveCell = TextBox1
    'Caja Chica
    ActiveCell.Offset(0, 1) = CDbl(Replace(TextBox2, "$", ""))
    'Total Efectivo
    ActiveCell.Offset(0, 2) = CDbl(Replace(TextBox17, "$", ""))
    'Diferencia
    ActiveCell.Offset(0, 3) = CDbl(Replace(TextBox3, "$", ""))
    '50 Centavos
    ActiveCell.Offset(0, 4) = CDbl(Replace(TextBox4, "$", ""))
    '1 Peso
    ActiveCell.Offset(0, 5) = CDbl(Replace(TextBox5, "$", ""))
    '2 Pesos
    ActiveCell.Offset(0, 6) = CDbl(Replace(TextBox6, "$", ""))
    '5 Pesos
    ActiveCell.Offset(0, 7) = CDbl(Replace(TextBox7, "$", ""))
    '10 Pesos
    ActiveCell.Offset(0, 8) = CDbl(Replace(TextBox8, "$", ""))
    '20 Pesos
    ActiveCell.Offset(0, 9) = CDbl(Replace(TextBox9, "$", ""))
    '50 Pesos
    ActiveCell.Offset(0, 10) = CDbl(Replace(TextBox10, "$", ""))
    '100 Pesos
    ActiveCell.Offset(0, 11) = CDbl(Replace(TextBox11, "$", ""))
    '200 Pesos
    ActiveCell.Offset(0, 12) = CDbl(Replace(TextBox12, "$", ""))
    '500 Pesos
    ActiveCell.Offset(0, 13) = CDbl(Replace(TextBox13, "$", ""))
    '1000 Pesos
    ActiveCell.Offset(0, 14) = CDbl(Replace(TextBox14, "$", ""))
    'ponemos el focus en el TextBox2
    TextBox2.SetFocus
    'limpiamos los textbox
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
    TextBox5 = ""
    TextBox6 = ""
    TextBox7 = ""
    TextBox8 = ""
    TextBox9 = ""
    TextBox10 = ""
    TextBox11 = ""
    TextBox12 = ""
    TextBox13 = ""
    TextBox14 = ""
    TextBox15 = ""
    TextBox16 = ""
    TextBox17 = ""
    TextBox18 = ""
    TextBox19 = ""
    TextBox20 = ""
    TextBox21 = ""
    TextBox22 = ""
    TextBox23 = ""
    TextBox24 = ""
    TextBox25 = ""
    TextBox26 = ""
    TextBox27 = ""
    TextBox28 = ""
End If
End Sub

Prueba y me comentas
Saludos. Dante Amor
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas