Usuário com melhor resposta
Ação em backgroud VBA - Abrir, copiar, salvar, fechar

Pergunta
-
Como executo a ação abaixo destacada em negrito em backgroud?
Resumindo, gostaria de colar especial sem ter que abrir a planilha ou visualizar essa ação.
Desde já obrigado.
Application.ScreenUpdating = False
Range("W2:W44").Select
Selection.Copy
Workbooks.Open Filename:="Y:\RUMO SEGURO\Liberações\Liberados.xlsx"
Sheets("Liberados").Select
Range("A1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
ActiveWorkbook.Save
ActiveWorkbook.Close
Workbooks(1).Activate
Sheets("Liberações").Select
Range("D6,D17,D20,D23,D31,F28,J28,L28,N28,P28").Select
Selection.ClearContents
Range("D6").Select
Application.ScreenUpdating = True
Respostas
-
Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.
---
Sub Main() Dim ws As Worksheet Dim wb As Workbook On Error GoTo ErrorHandler Application.ScreenUpdating = False Application.Visible = False Set ws = ActiveSheet Set wb = Workbooks.Open(Filename:="Y:\RUMO SEGURO\Liberações\Liberados.xlsx") ws.Range("W2:W44").Copy wb.Worksheets("Liberados").Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteValues wb.Close SaveChanges:=False ws.Range("D6,D17,D20,D23,D31,F28,J28,L28,N28,P28").Select.ClearContents Quit: Application.Visible = True Application.ScreenUpdating = True Exit Sub ErrorHandler: MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Main of Sub Módulo1" Resume Quit End Sub
http://www.ambienteoffice.com.br - http://www.clarian.com.br
- Marcado como Resposta Rodrigo Paschoalini segunda-feira, 28 de março de 2016 19:56
Todas as Respostas
-
application.Visible = False
André Santo | basevba.wordpress.com
- Sugerido como Resposta André Santo quinta-feira, 24 de março de 2016 15:50
- Não Sugerido como Resposta Rodrigo Paschoalini quinta-feira, 24 de março de 2016 17:20
-
Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.
---
Sub Main() Dim ws As Worksheet Dim wb As Workbook On Error GoTo ErrorHandler Application.ScreenUpdating = False Application.Visible = False Set ws = ActiveSheet Set wb = Workbooks.Open(Filename:="Y:\RUMO SEGURO\Liberações\Liberados.xlsx") ws.Range("W2:W44").Copy wb.Worksheets("Liberados").Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteValues wb.Close SaveChanges:=False ws.Range("D6,D17,D20,D23,D31,F28,J28,L28,N28,P28").Select.ClearContents Quit: Application.Visible = True Application.ScreenUpdating = True Exit Sub ErrorHandler: MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Main of Sub Módulo1" Resume Quit End Sub
http://www.ambienteoffice.com.br - http://www.clarian.com.br
- Marcado como Resposta Rodrigo Paschoalini segunda-feira, 28 de março de 2016 19:56