Boa tarde,
Estou desenvolvendo um códio, porém apenas os OptionButtons 4, 5 e 6 não estão funcionando. Todo o restante é captado e jogado na planilha, exceto estes 3.
Com o código abaixo, é possível descobrir o motivo?
Muito obrigado desde já!
Private Sub CommandButton1_Click()
Dim UltimaLinhas As Long
UltimaLinha = Sheets("BookLog").Cells(Cells.Rows.Count, 2).End(xlUp).Row
If UltimaLinha < 7 Then
UltimaLinha = 7
Else
UltimaLinha = UltimaLinha + 1
End If
Range("B" & UltimaLinha).Value = TextBox2.Text
If OptionButton1.Value = True Then
Range("C" & UltimaLinha).Value = OptionButton1.Caption
ElseIf OptionButton2.Value = True Then
Range("C" & UltimaLinha).Value = OptionButton2.Caption
ElseIf OptionButton3.Value = True Then
Range("C" & UltimaLinha).Value = OptionButton3.Caption
End If
If OptionButton4.Value = True Then
Range("D" & UltimaLinha).Value = OptionButton4.Caption
ElseIf OptionButton5.Value = True Then
Range("D" & UltimaLinha).Value = OptionButton5.Caption
ElseIf OptionButton6.Value = True Then
Range("D" & UltimaLinha).Value = OptionButton6.Caption
End If
If OptionButton7.Value = True Then
Range("E" & UltimaLinha).Value = OptionButton7.Caption
ElseIf OptionButton8.Value = True Then
Range("E" & UltimaLinha).Value = OptionButton8.Caption
ElseIf OptionButton9.Value = True Then
Range("E" & UltimaLinha).Value = OptionButton9.Caption
End If
If OptionButton10.Value = True Then
Range("F" & UltimaLinha).Value = OptionButton10.Caption
ElseIf OptionButton11.Value = True Then
Range("F" & UltimaLinha).Value = OptionButton11.Caption
ElseIf OptionButton12.Value = True Then
Range("F" & UltimaLinha).Value = OptionButton12.Caption
End If
Range("G" & UltimaLinha).Value = TextBox3.Text
Range("H" & UltimaLinha).Value = TextBox4.Text
lsLimparTextBox UserForm1
MsgBox "Cadastro Realizado com Sucesso!", vbDefaultButton1, "CADASTRO DE DADOS"
TextBox2.SetFocus
End Sub
Public Function lsInserirTextBox(formulario As UserForm, ByVal lSheet As String, ByVal lColunaCodigo As Long)
Dim controle As Control
Dim lUltimaLinhaAtiva As Long
lUltimaLinhaAtiva = Worksheets(lSheet).Cells(Worksheets(lSheet).Rows.Count, lColunaCodigo).End(xlUp).Row + 1
For Each controle In formulario.Controls
lsInserir controle, lSheet, lColunaCodigo, lUltimaLinhaAtiva
Next
End Function
Public Function lsLimparTextBox(formulario As UserForm)
Dim controle As Control
For Each controle In formulario.Controls
If TypeOf controle Is MSForms.TextBox Then
controle.Text = ""
End If
Next
End Function
Private Sub CommandButton2_Click()
lsLimparTextBox frmCadastro
TextBox1.SetFocus
End Sub
Private Sub TextBox2_Change()
If Len(TextBox2) = 2 Or Len(TextBox2) = 5 Then
TextBox2.Text = TextBox2.Text & "/"
SendKeys "{End}", True
End If
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
TextBox2.MaxLength = 10
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
KeyAscii = 0
End If
End Sub
Postado : 07/10/2019 1:59 pm