ENCERRAR PLANILHA QUE FOI EXPORTADA
Pessoal no codigo abaixo é criado uma nova planilha, o problema é que esta nova planilha fica aberta, pergunta tem como forçar o fechamento dela.
Sub ExportarPlanilha()
Dim CurrentSheet As Worksheet
Application.ScreenUpdating = False
[ô]Nome na Planilha Ativa em B2
nomeB2 = CStr(ActiveSheet.Range([Ô]B2[Ô]).Value)
Set CurrentSheet = ActiveSheet
On Error Resume Next
[ô]copia todas as células da planilha ativa
CurrentSheet.Cells.Copy
[ô]Cria a Nova PASTA (ARQUIVO)
Set wkb = Workbooks.Add
[ô]cola somente os valores na planilha Ativa da nova Pasta,
[ô]sem formulas e mantenndo a formatação
With ActiveSheet.Range([Ô]A1[Ô])
.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlFormats
End With
Application.CutCopyMode = False
[ô]Define os Novos Nomes - Planilha(ABA) e Pasta(Arquivo)
novoNome = nomeB2
[ô]Renomeia a planilha nova com
[ô]o Nome que estava em B2
With ActiveSheet
.Name = novoNome
.Range([Ô]A1[Ô]).Select
End With
Range([Ô]A1[Ô]).Select
[ô]Enibe a mensagem se a pasta já existir
[ô]Com essa instrução a Pasta será substiutida sem questionamento
Application.DisplayAlerts = False
[ô]Salva a Nova Pasta no Diretorio abaixo com o mesmo Nome
[ô]Alterem o mesmo conforme o endereço que querem
wkb.SaveAs ThisWorkbook.Path & [Ô]\[Ô] & novoNome & [Ô].xls[Ô]
End Sub
Aplique NOTHING nas variáveis para retirar a mesma da memoria.
CurrentSheet = Nothing
Procure usar CLOSE ou QUIT, só não sei aonde aplicar pois seu código esta incompleto.
E você também pode usar NOTHING logo em seguida sobre a mesma variável fechada.
Aproposito, sua dúvida não seria sobre VB.NET?
Pois se for meu caro, você a colocou e VB6.
CurrentSheet = Nothing
Procure usar CLOSE ou QUIT, só não sei aonde aplicar pois seu código esta incompleto.
E você também pode usar NOTHING logo em seguida sobre a mesma variável fechada.
Aproposito, sua dúvida não seria sobre VB.NET?
Pois se for meu caro, você a colocou e VB6.
Vou testar as opções.... mas aplicação é para vba .....
só uma correçãozinha
seria assim coloque no final do código acima o seguinte
seria assim coloque no final do código acima o seguinte
Set CurrentSheet = Nothing
Após o comando SaveAs use o Close e o Quit como foi dito pelo colega Veldrame. Ficaria algo assim:
objExcel.ActiveWorkbook.SaveAs NomeArquivo [ô]Salva o arquivo com o nome escolhido pelo usuário
objExcel.ActiveWorkbook.Close [ô]Fecha o arquivo
objExcel.Quit [ô]Sai do EXCEL
Set objExcel = Nothing [ô]Destrói a variável da memória
ola pessoal obrigado pelas dicas, no final do codigo é so adicionar este codigo:
Grato, a todos
ActiveWorkbook.Close savechanges:=True
Application.DisplayAlerts = True
Grato, a todos
Tópico encerrado , respostas não são mais permitidas