Não tinha visto mesmo.
Pode ser assim, no modo gambiarra (sem mexer no teu código):
Private Sub Inserir_OK_Click()
Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet
If formEntrada.Revista.Text = "" Then
MsgBox "Selecione uma Revista.", vbExclamation, "Atenção!"
Exit Sub
ElseIf formEntrada.Texto.Text = "" Then
MsgBox "Escreva o título da publicação.", vbExclamation, "Atenção!"
Exit Sub
ElseIf formEntrada.Data.Text = "" Then
MsgBox "Insira a data da publicação.", vbExclamation, "Atenção!"
Exit Sub
End If
ActiveWorkbook.Sheets("BD_Meses").Activate
Range("A2").Select
Do
If IsEmpty(ActiveCell) = False Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
ActiveCell.Value = Revista.Value
ActiveCell.Offset(0, 1) = CDate(Data.Value)
ActiveCell.Offset(0, 2) = Texto.Value
ActiveCell.Offset(0, 3) = Diretorio.Value
If formEntrada.Diretorio.Value <> "" Then
'Criando hiperlink do arquivo selecionado
ActiveCell.Offset(0, 3).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
formEntrada.Diretorio.Text, TextToDisplay:= _
Diretorio.Value
End If
ws.Select
Unload Me
End Sub
Mas eu acho que dá pra ser assim (dando uma melhorada rápida no código):
Private Sub Inserir_OK_Click()
Dim UL As Long ' UL = Última Linha
If formEntrada.Revista.Text = "" Then
MsgBox "Selecione uma Revista.", vbExclamation, "Atenção!"
Exit Sub
ElseIf formEntrada.Texto.Text = "" Then
MsgBox "Escreva o título da publicação.", vbExclamation, "Atenção!"
Exit Sub
ElseIf formEntrada.Data.Text = "" Then
MsgBox "Insira a data da publicação.", vbExclamation, "Atenção!"
Exit Sub
End If
With Sheets("BD_Meses")
UL = .Cells(Rows.Count, "A").End(xlUp).Row + 1
.Cells(UL, "A").Value = Revista.Value
.Cells(UL, "A").Offset(0, 1).Value = CDate(Data.Value)
.Cells(UL, "A").Offset(0, 2).Value = Texto.Value
.Cells(UL, "A").Offset(0, 3).Value = Diretorio.Value
If formEntrada.Diretorio.Value <> "" Then
'Criando hiperlink do arquivo selecionado
.Cells(UL, "A").Offset(0, 3).Hyperlinks.Add Anchor:=Selection, Address:= _
formEntrada.Diretorio.Text, TextToDisplay:= _
Diretorio.Value
End If
End With
Unload Me
End Sub
Abs
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
Postado : 03/11/2014 6:31 am