ENCERRAR PLANILHA QUE FOI EXPORTADA

GEROEANE 24/10/2012 20:21:43
#412737
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
VELDRAME 25/10/2012 09:55:36
#412768
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.

GEROEANE 25/10/2012 11:34:08
#412774
Vou testar as opções.... mas aplicação é para vba .....
MARCELO.TREZE 25/10/2012 11:47:10
#412777
só uma correçãozinha

seria assim coloque no final do código acima o seguinte

Set CurrentSheet = Nothing
FFCOUTO 25/10/2012 13:37:15
#412794
Resposta escolhida
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


GEROEANE 27/10/2012 18:12:52
#412986
ola pessoal obrigado pelas dicas, no final do codigo é so adicionar este codigo:

 ActiveWorkbook.Close savechanges:=True
Application.DisplayAlerts = True

Grato, a todos
Tópico encerrado , respostas não são mais permitidas