Como posso evitar a caixa de mensagem da área de transferência ao copiar grandes quantidades de dados no Excel?

Como posso evitar a caixa de mensagem da área de transferência ao copiar grandes quantidades de dados no Excel?

Eu tenho uma macro que copia 4 planilhas de uma pasta de trabalho para uma nova pasta de trabalho e salva com outro nome.

Infelizmente, a caixa de mensagem me perguntando se eu gostariagostaria de disponibilizar esta grande quantidade de dados para outras aplicaçõesestá fazendo com que esse trabalho automatizado se torne um pouco manual.

Qualquer dica sobre como evitar a caixa de mensagem da área de transferência ou apenas fazer com que ela responda Não automaticamente será apreciada.

Responder1

Eu modificaria a macro. Desative os alertas quando a macro for iniciada e ative-os novamente quando a macro for concluída. ou seja Application.DisplayAlerts = False

Responder2

O problema Application.DisplayAlerts = Falseé que ele pode ocultar um alerta que você precisa ver.

Use Application.CutCopyMode = Falseapós colar, que remove o link para o intervalo grande da área de transferência.

Responder3

Concordo com Jon Peltier: "O problema Application.DisplayAlerts = Falseé que isso pode ocultar um alerta que você precisa ver". Além disso, você deve se lembrar de definir Application.DisplayAlerts = Truedepois de terminar, então são 3 linhas de código para cada pasta E se o seu programa interromper ANTES, Application.DisplayAlerts = Truevocê terá desativado os alertas sem saber até sair do Excel.

Testei a sugestão dele Application.CutCopyMode = Falsedepois de colar, funciona bem. Aqui está um exemplo 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

Responder4

Encontrei este documento da 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

Aqui está a parte relevante:

Método 2: Sair do CutCopyMode
Se você estiver usando a macro Visual Basic for Applications para cortar ou copiar células, insira a seguinte linha imediatamente antes da linha que fecha a pasta de trabalho

workbook.Application.CutCopyMode = False

onde "pasta de trabalho" é o seu objeto de pasta de trabalho.

NOTA: Ao definir CutCopyMode como True ou False, o Excel pode cancelar o modo Cortar ou Copiar.

Método 3: Salvar a pasta de trabalho
Se você estiver usando a macro Visual Basic for Applications para cortar ou copiar células, insira a seguinte linha imediatamente antes da linha que fecha a pasta de trabalho

workbook.Save

onde "pasta de trabalho" é o seu objeto de pasta de trabalho. Quando você salva uma pasta de trabalho, o Excel não está mais no modo Recortar ou Copiar.

informação relacionada