Boa tarde,
Então está ocorrendo esse erro, mas o WITH está acompanhado de END WITH "bonitinho"... Deve ser um problema bem besta.
Não sei se posso estar usando o WITH da maneira que estou... tipo duas vezes. Na minha cabeça n deveria fazer diferença pois se estou "fechando" o with com end with...
Sub clockit()
If UserForm1.CommandButton1.Caption = "Clock-in" And UserForm1.ComboBox1 <> "" Then
With ThisWorkbook.Worksheets("Control")
lastentry = .Range("D" & .Cells(.Rows.Count, 1).End(xlUp).Row + 1).Address
.Range(lastentry).Value = UserForm1.TextBox4.Text
.Range(lastentry).Offset(0, -2) = UserForm1.TextBox2.Text
.Range(lastentry).Offset(0, -3) = UserForm1.TextBox1.Text
.Range(lastentry).Offset(0, -1) = UserForm1.ComboBox1.Text
UserForm1.CommandButton1.Caption = "Clock-out"
Set Rng = .Range("A2:F" & .Cells(Rows.Count, 1).End(xlUp).Row)
For Each cell In Rng.Cells
With UserForm1.ListBox1
.AddItem cell.Value
.List(.ListCount - 1, 1) = cell.Offset(0, 1).Value
.List(.ListCount - 1, 2) = cell.Offset(0, 2).Value
.List(.ListCount - 1, 3) = cell.Offset(0, 3).Value
.List(.ListCount - 1, 4) = cell.Offset(0, 4).Value
.List(.ListCount - 1, 5) = cell.Offset(0, 5).Value
.List(.ListCount - 1, 6) = cell.Offset(0, 6).Value
End With
End With
ElseIf UserForm1.CommandButton1.Caption = "Clock-out" And UserForm1.ComboBox1 <> "" Then
With ThisWorkbook.Worksheets("Control")
.Range(lastentry).Offset(0, 1) = UserForm1.TextBox4.Text
UserForm1.CommandButton1.Caption = "Clock-in"
UserForm1.ComboBox1 = Empty
Set Rng = .Range("A2:F" & .Cells(Rows.Count, 1).End(xlUp).Row)
For Each cell In Rng.Cells
With UserForm1.ListBox1
.AddItem cell.Value
.List(.ListCount - 1, 1) = cell.Offset(0, 1).Value
.List(.ListCount - 1, 2) = cell.Offset(0, 2).Value
.List(.ListCount - 1, 3) = cell.Offset(0, 3).Value
.List(.ListCount - 1, 4) = cell.Offset(0, 4).Value
.List(.ListCount - 1, 5) = cell.Offset(0, 5).Value
.List(.ListCount - 1, 6) = cell.Offset(0, 6).Value
End With
End With
End With
End If
End Sub
Antes de aparecer o erro estava tudo funcionando, eu quis dar uma avançada para popular o listbox da userform, o código antes funcionava:
Sub clockit()
If UserForm1.CommandButton1.Caption = "Clock-in" And UserForm1.ComboBox1 <> "" Then
With ThisWorkbook.Worksheets("Control")
lastentry = .Range("D" & .Cells(.Rows.Count, 1).End(xlUp).Row + 1).Address
.Range(lastentry).Value = UserForm1.TextBox4.Text
.Range(lastentry).Offset(0, -2) = UserForm1.TextBox2.Text
.Range(lastentry).Offset(0, -3) = UserForm1.TextBox1.Text
.Range(lastentry).Offset(0, -1) = UserForm1.ComboBox1.Text
UserForm1.CommandButton1.Caption = "Clock-out"
End With
ElseIf UserForm1.CommandButton1.Caption = "Clock-out" And UserForm1.ComboBox1 <> "" Then
With ThisWorkbook.Worksheets("Control")
.Range(lastentry).Offset(0, 1) = UserForm1.TextBox4.Text
UserForm1.CommandButton1.Caption = "Clock-in"
UserForm1.ComboBox1 = Empty
End With
End If
End Sub
Alguém poderia me dar uma ajuda?
Obrigado pela atenção e tempo!
Att,
Luis
Um problema a parte, eu não estou recebendo emails de aviso de resposta para mensagens aqui no forum... meu email está correto, e estou deixando marcado para "Notificar-me quando for respondida".
Postado : 27/01/2015 1:50 pm