Desabilitar salvar e salvar como após execução de uma macro

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Desabilitar salvar e salvar como após execução de uma macro

Mensagempor gmribeiro » Qua Jan 15, 2020 11:25 am

Bom dia, gostaria que após a execução dessa macro não fosse mais possível salvar o documento de nenhuma forma, sendo que no início dessa macro a planilha é salva.

Não entendo muito de VBA. Construí essa macro a partir de várias outras. Tenho a impressão de que o código deve vir se possível antes do comando de abertura da tela de impressão da macro abaixo.

Código: Selecionar todos
Sub excluir_linhas()

ActiveWorkbook.Save

ActiveSheet.Unprotect Password:="senha"


Range("V46").Value = "0"
Range("V68").Value = "0"
Range("V74").Value = "0"
Range("V88").Value = "0"
Range("V98").Value = "0"
Range("V121").Value = "0"
Range("V126").Value = "0"
Range("V132").Value = "0"
Range("V137").Value = "0"
Range("V156").Value = "0"
Range("V168").Value = "0"
Range("V185").Value = "0"
Range("V197").Value = "0"
Range("V214").Value = "0"
Range("V226").Value = "0"
Range("V240").Value = "0"
Range("V250").Value = "0"
Range("V272").Value = "0"
Range("V294").Value = "0"


Range("A1:CM500").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Application.CutCopyMode = False


Dim r, c, x
r = 31: c = 22
x = r
Do While x < 500
If Plan1.Cells(r, c) = "0" Then
Rows(r).Delete
r = r - 1
End If
r = r + 1
x = x + 1
Loop


ActiveSheet.Protect Password:="senha"

Application.Dialogs(xlDialogPrint).Show

End Sub


Obrigada!
gmribeiro
Membro
Membro
 
Mensagens: 24
Registrado em: Qua Jan 28, 2015 6:46 am
Has thanked: 12 times
Have thanks: 0 time

{ SO_SELECT }

Re: Desabilitar salvar e salvar como após execução de uma ma

Mensagempor wagner » Qui Jan 16, 2020 8:11 am

gmribeiro,

Bom dia!

Coloque, como última linha desse seu código, a seguinte linha de comando:
Código: Selecionar todos
    ActiveWorkbook.Close


E coloque também o seguinte código no evento Workbook_BeforeClose desse seu arquivo:
Código: Selecionar todos
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ThisWorkbook.Saved = True
End Sub
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 5549
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 104 times
Have thanks: 2371 times


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes