Eu modificaria a macro. Desativar alertas quando a macro for iniciada e ativá-los novamente quando a macro estiver concluída. ou seja, Application.DisplayAlerts = False
Eu tenho uma macro que está copiando 4 folhas de uma pasta de trabalho para uma nova pasta de trabalho e salvando-a com outro nome.
Infelizmente, a caixa de mensagem perguntando se gostaria de disponibilizar essa grande quantidade de dados para outros aplicativos está fazendo com que esse trabalho automatizado se torne um pouco manual.
Qualquer dica sobre como evitar a caixa de mensagens da área de transferência, ou apenas responder automaticamente Não, será muito bem-vinda.
O problema com Application.DisplayAlerts = False
é que ele pode ocultar um alerta que você precisa ver.
Use Application.CutCopyMode = False
após a colagem, que remove o link para o intervalo grande da área de transferência.
Eu encontrei este documento MS sobre isso. Parece que você pode usar algumas soluções programáticas diferentes em sua macro para resolver isso. Depende apenas do que exatamente você está copiando para a área de transferência. KB # 287392
Concordo com Jon Peltier, "O problema com Application.DisplayAlerts = False é que ele pode ocultar um alerta que você precisa ver." Além disso, você precisa se lembrar de "Application.DisplayAlerts = True" depois de terminar, o que significa três linhas de código para cada pasta E se o seu programa interrompe ANTES de "Application.DisplayAlerts = True", você terá inadvertidamente alertas desativados até que você saia do Excel.
Eu testei sua sugestão "Application.CutCopyMode = False após a pasta", funciona bem em someSpreadsheet.xls
Workbooks.OpenText Filename:="someDirectory\someFile.txt", _
DataType:=xlDelimited, TextQualifier:=xlNone, _
Tab:=True
Cells.Select
Selection.Copy
Windows("someSpreadsheet.xls").Activate
ActiveSheet.Paste
Application.CutCopyMode = 0
Windows("someFile.txt").Activate
ActiveWorkbook.Close
Tags microsoft-excel macros vba