Inquiridor
Ajuda (Meter Mensagem de Erro)

Pergunta
-
Bom diaa meus amigos,
Estou precisando de uma ajudinha no meu "projeto" nunca mexi em Excel Vba e pediram-me para fazer um projeto ...
Tou tentando ! Mas agora estou com duvidas! Faltam-me mensagens de erro! Por isso caso voces possam agradeceria ajuda! Passo a explicar -->
No UserForm3 --> O userform é de registo de utilizadores!
1ª -Preciso que o programa nao deixe registar o utilizadores com o mesmo numero de empresa, O nome da Planilha onde sao introduzidos os valores é Util_Reg. Nao podera introduzir o Utilizador caso o numero seja Igual !
2ª- Tenho 3 ComboBox! Sendo uma para selecionar o Armazem a que pretencem e as outros duas para selecionar os armazens a que nao se pode mecher, Preciso que não deixe seleccionar valores iguais em nenhuma das 3 combobox!
No UserForm4 --> O Userform é de Registo de Armazéns
Preciso que verifique os armazéns e caso tentemos inserir um Armazém que já exista diga que Já existe e que não pode introduzir outra vez, e que não deixe voltar a introduzir um armazém igual!
No UserForm5 --> O Userform Elimina Armazéns Pelo ID dos mesmos!
Preciso que se tentarmos eliminar um Armazém que não exista ele avise que não existe!
No UserForm6 --> O Userform Elimina Utilizadores Pelo ID dos mesmos!
Preciso que se tentarmos eliminar um Utilizador que não exista ele avise que não existe!
No UserForm9 --> O Userform Elimina Números de Semanas Ja inseridos!
Preciso que se tentarmos eliminar um numero que não exista ele avise!
Agradeço desde Ja!Existe Maneira de enviar o Anexo? Seria muito mais facil para voces ajudarem :/
Todas as Respostas
-
Exibirei aqui os codigos
UserForm 3 -->
If TextBox1 = "" Then MsgBox "Insira os Dados No Campo Nome!" TextBox1.SetFocus Else If TextBox2 = "" Then MsgBox "Insira o Numero do Trabalhador No Campo!" TextBox2.SetFocus Else If TextBox3 = "" Then MsgBox "Introduza a Data!" TextBox1.SetFocus Else If ComboBox1 = "" Then MsgBox "Selecione o Armazem a Que Pretence!" ComboBox1.SetFocus Else If ComboBox2 = "" Or ComboBox3 = "" Then MsgBox "Selecione o Armazem Que o Utilizador Tem Excepção!" ComboBox1.SetFocus Else If OptionButton1 = "" Or OptionButton2 = "" Or OptionButton3 = "" Then MsgBox "Tem que Selecionar Pelo Menos uma Excepção!" OptionButton1.SetFocus Else Call Dados_Utilizadores.InserirDados(cond) MsgBox "Registado Com Sucesso" TextBox1.Text = "" TextBox2.Text = "" ComboBox1.Text = "" OptionButton1 = False OptionButton2 = False OptionButton3 = False ComboBox1.Text = "" ComboBox2.Text = "" ComboBox3.Text = "" End If End If End If End If End If End If
Modulo Utilizado para Registar
Public Sub InserirDados(cond) Dim ultimalinha As Long Dim Ws1 As Worksheet Dim x As Integer Set Ws1 = Worksheets("Util_Reg") 'Encontrar a Ultima Linha Preenchida' ultimalinha = Cells(Rows.Count, 1).End(xlUp).Row + 1 'Inserir Dados Na Base de Dados Excel' Ws1.Range("B" & ultimalinha).Value = UserForm3.TextBox1 Ws1.Range("C" & ultimalinha).Value = UserForm3.TextBox2 Ws1.Range("E" & ultimalinha).Value = UserForm3.ComboBox1 Ws1.Range("D" & ultimalinha).Value = UserForm3.TextBox3 Ws1.Range("G" & ultimalinha).Value = UserForm3.ComboBox2 Ws1.Range("H" & ultimalinha).Value = UserForm3.ComboBox3 If UserForm3.OptionButton1 = True Then cond = 4 Ws1.Range("F" & ultimalinha).Value = "1 Vez Por Mês" ElseIf UserForm3.OptionButton2 = True Then cond = 2 Ws1.Range("F" & ultimalinha).Value = "2 Vezes Por Mês" ElseIf UserForm3.OptionButton3 = True Then cond = 1 Ws1.Range("F" & ultimalinha).Value = "1 Vez Semana" End If ultimalinha = Cells(Rows.Count, 1).End(xlUp).Row + 1 Set Ws1 = Worksheets("Util_Reg") Set Ws2 = Worksheets("RID") x = Ws2.Range("A2").Value x = x + 1 Ws1.Range("A" & ultimalinha).Value = x Ws2.Range("A2") = x End Sub
USERFORM4 -->
If TextBox2 = "" Then MsgBox "Campo em Branco! Introduza um Armazem. " TextBox2.SetFocus Exit Sub Else Call Inserir_Armazens.InserirArm MsgBox "Registado Com Sucesso" TextBox2.Text = ""
MODULO UTILIZADO
Public Sub InserirArm() Dim ultimalinha As Long Dim Ws1 As Worksheet Set Ws1 = Worksheets("Armazens") 'Encontrar a Ultima Linha Preenchida' ultimalinha = Cells(Rows.Count, 1).End(xlUp).Row + 1 'Inserir Dados Na Base de Dados Excel' Ws1.Range("B" & ultimalinha).Value = UserForm4.TextBox2 ultimalinha = Cells(Rows.Count, 1).End(xlUp).Row + 1 Set Ws1 = Worksheets("Armazens") Set Ws2 = Worksheets("RID") x = Ws2.Range("C2").Value 'Do Until Range("H" & x).Value = "" x = x + 1 Ws1.Range("A" & ultimalinha).Value = x Ws2.Range("C2") = x End Sub
USERFORM 5 -->
Dim Ws1 As Worksheet Set Ws1 = Worksheets("Armazens") Ws1.Select Ws1.Range("A2").Select For Apagar = 1 To 200 If ActiveCell = TextBox1.Text Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(1, 0).Activate Next Worksheets("Armazens").Range("A2").Select MsgBox "Eliminado Com Sucesso!" TextBox1.Text = ""
USERFORM 6 -->
Private Sub CommandButton3_Click() Dim Ws1 As Worksheet Set Ws1 = Worksheets("Util_Reg") Ws1.Select Ws1.Range("A2").Select For Apagar = 1 To 200 If ActiveCell = TextBox1.Text Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(1, 0).Activate Next Worksheets("Util_Reg").Range("A2").Select MsgBox "Eliminado Com Sucesso!" TextBox1.Text = ""
USERFORM 9 -->
Private Sub CommandButton1_Click() Dim Ws1 As Worksheet, T As Long, Semana As Variant Set Ws1 = Worksheets("Semanas") For A = 1 To 10 Semana = Me.Controls("TEXTBOX" & A).Value T = Ws1.Cells(Cells.Rows.Count, 1).End(xlUp).Row For i = T To 1 Step -1 If CStr(Ws1.Cells(i, 1)) = Semana Then Ws1.Rows(i).EntireRow.Delete End If Next i Next A Worksheets("Semanas").Range("A1").Select MsgBox "Semanas Retiradas com Sucesso!" TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox7.Text = "" TextBox8.Text = "" TextBox9.Text = "" TextBox10.Text = "" End Sub
MUITOOO OBRIGADO AMIGOS <3