Página 1 de 1

Macro para abrir uma planilha

Enviado: 06 Set 2015 às 23:12
por fazerbem
Quero incluir na minha macro o seguinte comando

Sub AbrirArquivo()
'
' AbrirArquivo Macro
' abrir arquivo
'

'
Workbooks.Open Filename:= _
"C:\documentos\arquivo.xls"
End Sub

Sendo que so usarei mesmo o codigo abaixo, devido acrescentar uma outra Macro que ja possuo.

Workbooks.Open Filename:= _
"C:\documentos\arquivo.xls"

Sendo que ao inves de usar ( "C:\documentos\arquivo.xls" ) quero que carregue a planilha que esta em A1, conforme codigo completo logo abaixo.

Quero colocar o novo comando la no finalzinho antes do END SUB, ou logo apos o 1º :

On Error Resume Next

Desta forma terei aberta a Planilha Base e a Planilha recem gravada com nome conforme A1.

Podem me ajudar ?

---------------------------------------------------------------------------------------------------------------------------
Sub Salvar_Pedido()

'Declaração de ariaveis
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim Ws3 As Worksheet
Dim Ws4 As Worksheet

Dim Dest As Range

Application.ScreenUpdating = 0 'Deixa a macro mais rápida (Desliga a tela de atualização)
Set Ws1 = Sheets("RESUMO") 'Referencia a guia Resumo como Ws1
Set Ws2 = Sheets("LANCAR COMISSAO") 'Referencia a guia LANÇAR COMISSAO como Ws2
Set Ws3 = Sheets("PRODUTOS")
Set Dest = Ws2.Range("B3").Range("B52").End(xlUp).Offset(1, -1) 'Encontra a ultima linha da guia comissão (definida como Dest)

Ws1.Range("AB2:AH2").Copy 'Copia o intervalo AB2:AG2 da guia Resumo
Dest.PasteSpecial xlPasteValues 'Cola valores na guia Comissão
Application.CutCopyMode = False 'Desativaj o clipboard

Set Ws4 = Sheets("PEDIDO")
Sheets("PEDIDO").Select
Range("A1").Select


On Error Resume Next
Dim Caminho As String 'declaracao da variável caminho
Caminho = ThisWorkbook.Path & "\"
ActiveWorkbook.SaveAs Filename:=Caminho & [A1].Value & ".xlsm"
'MsgBox ("Planilha Salva Como : ") & [A1].Value & ".xlsm"


Ws1.Range("H10:J11,H20:H21,H26:H31").Value = "" 'Limpa as células
Ws3.Range("F4:F15,F18:F21,F24:F42,F45:F53,F56:F64").Value = ""
Sheets("PRODUTOS").Select
Range("F4").Activate
Sheets("RESUMO").Select
Range("H10:J11").Select
Application.ScreenUpdating = 1 'Deixa a macro mais rápida (Liga a tela de atualização)


On Error Resume Next
Dim Caminho2 As String 'declaracao da variável caminho
Caminho = ThisWorkbook.Path & "\"
ActiveWorkbook.SaveAs Filename:=Caminho & [C32].Value & ".xlsm"
'MsgBox ("Planilha Salva Como : ") & [C32].Value & ".xlsm"

End Sub

Macro para abrir uma planilha

Enviado: 06 Set 2015 às 23:31
por fazerbem
ja vi que vai dar problema, pois se eu colocar apos o 1º Salvar como, ele nao tera como continuar e executar a rotina seguinte pois nao pode abrir uma planilha ao qual ja esta aberta, pois a rotina que limpa o conteudo e grava com o nome de planilha base, so será executada depois rsrsrs. E se eu por no final este comando nao tera a referencia da celula A1, pois seu conteudo ja estara limpo.

Danou-se !

Re: Macro para abrir uma planilha

Enviado: 06 Set 2015 às 23:46
por fazerbem
Ola Pessoal, Consegui eu mesmo resolver . Segue a Macro caso alguem tenha interesse.

Sub Salvar_Pedido()

'Declaração de ariaveis
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim Ws3 As Worksheet
Dim Ws4 As Worksheet

Dim Dest As Range

Application.ScreenUpdating = 0 'Deixa a macro mais rápida (Desliga a tela de atualização)
Set Ws1 = Sheets("RESUMO") 'Referencia a guia Resumo como Ws1
Set Ws2 = Sheets("LANCAR COMISSAO") 'Referencia a guia LANÇAR COMISSAO como Ws2
Set Ws3 = Sheets("PRODUTOS")
Set Dest = Ws2.Range("B3").Range("B52").End(xlUp).Offset(1, -1) 'Encontra a ultima linha da guia comissão (definida como Dest)

Ws1.Range("AB2:AH2").Copy 'Copia o intervalo AB2:AG2 da guia Resumo
Dest.PasteSpecial xlPasteValues 'Cola valores na guia Comissão
Application.CutCopyMode = False 'Desativaj o clipboard

Set Ws4 = Sheets("PEDIDO")
Sheets("PEDIDO").Select
Range("A1").Select


On Error Resume Next
Dim Caminho As String 'declaracao da variável caminho
Caminho = ThisWorkbook.Path & "\"
ActiveWorkbook.SaveAs Filename:=Caminho & [A1].Value & ".xlsm"
'MsgBox ("Planilha Salva Como : ") & [A1].Value & ".xlsm"


'Ws1.Range("H10:J11,H20:H21,H26:H31").Value = "" 'Limpa as células

Ws1.Range("H20:H21,H26:H31").Value = "" 'Limpa as células
Ws3.Range("F4:F15,F18:F21,F24:F42,F45:F53,F56:F64").Value = ""
Sheets("PRODUTOS").Select
Range("F4").Activate
Sheets("RESUMO").Select
Range("H10:J11").Select
Application.ScreenUpdating = 1 'Deixa a macro mais rápida (Liga a tela de atualização)


On Error Resume Next
Dim Caminho2 As String 'declaracao da variável caminho
Caminho = ThisWorkbook.Path & "\"
ActiveWorkbook.SaveAs Filename:=Caminho & [C32].Value & ".xlsm"
'MsgBox ("Planilha Salva Como : ") & [C32].Value & ".xlsm"



Workbooks.Open Filename:=Caminho & [H10].Value & ".xlsm"

Ws1.Range("H10:J11").Value = "" 'Limpa as células


On Error Resume Next
Dim Caminho3 As String 'declaracao da variável caminho
Caminho = ThisWorkbook.Path & "\"
ActiveWorkbook.SaveAs Filename:=Caminho & [C32].Value & ".xlsm"
'MsgBox ("Planilha Salva Como : ") & [C32].Value & ".xlsm"

End Sub