Minha macro só inicia quando a executo através da janela do vba ou das teclas de atalho que atribuí, mas quando acionada através do botão na planilha, a macro meio que para na metade do código. O que pode ser?
Segue abaixo o código:
Sub inventario_finalizar()
Application.ScreenUpdating = False
Sheets("Base de Dados").Unprotect
Sheets("Não Ajustados").Unprotect
ActiveSheet.Unprotect
Dim pa As Worksheet
Dim na As Worksheet
Dim bd As Worksheet
Dim nl As Integer
Dim nl2 As Integer
nl = Sheets("Não Ajustados").ListObjects(1).Range.Rows.Count + 7
nl2 = Sheets("Base de Dados").ListObjects(1).Range.Rows.Count + 7
Set bd = Sheets("Base de Dados")
Set na = Sheets("Não Ajustados")
Set pa = ActiveSheet
If pa.Range("s1").Value > 0 Then
Columns("B:C").EntireColumn.Hidden = False
Range("N:Q").EntireColumn.Hidden = True
pa.Range("b8").AutoFilter _
Field:=13, _
Criteria1:="Realizado", _
Visibledropdown:=True
pa.ListObjects(1).DataBodyRange.SpecialCells(xlCellTypeVisible).Copy
If bd.Range("b8") <> "" Then
bd.Range("B" & nl2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Else
bd.Range("b8").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
pa.ListObjects(1).Range.AutoFilter Field:=13
End If
If pa.Range("t1").Value > 0 Then
Columns("C:M").EntireColumn.Hidden = True
pa.Range("b8").AutoFilter _
Field:=13, _
Criteria1:="Não Realizado", _
Visibledropdown:=True
pa.ListObjects(1).DataBodyRange.SpecialCells(xlCellTypeVisible).Copy
If na.Range("b8") <> "" Then
na.Range("b" & nl).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Else
na.Range("b8").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Columns("C:M").EntireColumn.Hidden = False
Columns("B:B").EntireColumn.Hidden = True
pa.ListObjects(1).DataBodyRange.SpecialCells(xlCellTypeVisible).Copy
If na.Range("c8") <> "" Then
na.Range("c" & nl).PasteSpecial
Else
na.Range("c8").PasteSpecial
End If
na.ListObjects(1).Range.FormatConditions.Delete
pa.ListObjects(1).Range.AutoFilter Field:=13
End If
MsgBox "Dados exportados com sucesso."
Columns("n:n").EntireColumn.Hidden = False
Columns("b:c").EntireColumn.Hidden = True
Sheets("Base de Dados").Protect
Sheets("Não Ajustados").Protect
ActiveSheet.Protect
Application.ScreenUpdating = True
End Sub