Tenho um comando para abrir o meu arquivo que é assim:
Workbooks.Open ("C:\Users\Cliente-PC\Desktop\Nova pasta\DADOS\ArquivoEndereçodiferente.xlsx")
Agora quero colocar ele mais dinâmico e por isto nomeei uma célula com o nome de "CaminhoCompleto" e na mesma tenho o uma fórmula que capta o endereço completo do arquivo:
C:\Users\Cliente-PC\Desktop\Nova pasta\DADOS\ArquivoEndereçoDiferente.xlsx
Ou seja, é o mesmo que consta no primeiro comando.
Pergunto: como posso alterar o primeiro comando, pois quero inserir a célula nomeada:
ATUAL: Workbooks.Open ("C:\Users\Cliente-PC\Desktop\Nova pasta\DADOS\ArquivoEndereçodiferente.xlsx")
NOVO: Workbooks.Open sheets("CaminhoCompleto")
Pensei que funcionaria assim, porém não está correto. Como devo fazer?
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Abrir arquivo com células nomeadas
-
- Colaborador
- Mensagens: 62
- Registrado em: Sáb Fev 27, 2016 7:31 pm
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Abrir arquivo com células nomeadas
Neri, boa noite meu amigo. Tudo bem contigo!?
Nesse seu caso, realmente o comando esta incorreto. Se eu entendi bem, você colocou o endereço do arquivo em uma área nomeada, chamada CaminhoCompleto, certo!?!?!?
Se a resposta para pergunta acima for Sim, substitua o Sheets por Range, ficando assim:
Veja se irá funcionar e nos retorne.
Abraços e boa noite por ai.
Nesse seu caso, realmente o comando esta incorreto. Se eu entendi bem, você colocou o endereço do arquivo em uma área nomeada, chamada CaminhoCompleto, certo!?!?!?
Se a resposta para pergunta acima for Sim, substitua o Sheets por Range, ficando assim:
Código: Selecionar todos
Workbooks.Open Range("CaminhoCompleto")
Abraços e boa noite por ai.
-
- Colaborador
- Mensagens: 62
- Registrado em: Sáb Fev 27, 2016 7:31 pm
Re: Abrir arquivo com células nomeadas
Boa tarde Mikel
Desculpe responder somente agora. Estava fora e agora lhe respondo.
Usei os comandos que foram colocados no exemplo:
e mais: no botão de Excluir, antes desta ação faço a conferência se já foi utilizado para algum registro. Neste caso utilizo:
Deixo aqui postado para que se alguém precisar, ja tenha o exemplo.
Obrigado pela ajuda. Vamos em frente...
Desculpe responder somente agora. Estava fora e agora lhe respondo.
Usei os comandos que foram colocados no exemplo:
Código: Selecionar todos
Private Sub AtualizarArquivo(ByVal ReadOnly As Boolean)
Dim caminhoCompleto As String
'fecha o arquivo de dados e tenta abrí-lo
'guarda o caminho
caminhoCompleto = wbCadastro.FullName
wbCadastro.Saved = True
wbCadastro.Close SaveChanges:=False
'abre o arquivo em modo escrita
Set wbCadastro = Workbooks.Open(filename:=caminhoCompleto, ReadOnly:=ReadOnly)
'oculta a janela
wbCadastro.Windows(1).Visible = False
'reatribui a planilha de cadastro
Set wsCadastro = wbCadastro.Worksheets(nomePlanilhaCadastro)
End Sub
'------------------------------------------------------------------------------------------
Private Sub DefinePlanilhaDados()
Dim abrirArquivo As Boolean
Dim wb As Workbook
Dim caminhoCompleto As String
Dim ARQUIVO_DADOS As String
Dim PASTA_DADOS As String
abrirArquivo = True
ARQUIVO_DADOS = Range("ARQUIVO_DADOS").Value
PASTA_DADOS = Range("PASTA_DADOS").Value
If ThisWorkbook.Name <> ARQUIVO_DADOS Then
'monta a string do caminho completo
If PASTA_DADOS = vbNullString Or PASTA_DADOS = "" Then
caminhoCompleto = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, vbNullString) & ARQUIVO_DADOS
Else
If Right(PASTA_DADOS, 1) = "\" Then
caminhoCompleto = PASTA_DADOS & ARQUIVO_DADOS
Else
caminhoCompleto = PASTA_DADOS & "\" & ARQUIVO_DADOS
End If
End If
'verifica se o arquivo não está aberto
For Each wb In Application.Workbooks
If wb.Name = ARQUIVO_DADOS Then
abrirArquivo = False
Exit For
End If
Next
'atribui o arquivo
If abrirArquivo Then
Set wbCadastro = Workbooks.Open(filename:=caminhoCompleto, ReadOnly:=True)
Else
Set wbCadastro = Workbooks(ARQUIVO_DADOS)
End If
Else
Set wbCadastro = ThisWorkbook
End If
Set wsCadastro = wbCadastro.Worksheets(nomePlanilhaCadastro)
'oculta o arquivo de dados
wbCadastro.Windows(1).Visible = False
End Sub
Código: Selecionar todos
Private Sub optexcluir_Click()
Dim Caminho As String
Dim Arquivo As String
Caminho = Plan1.Range("b3").Value 'Em A1 vc coloca o caminho do arquivo
'Arquivo = Plan1.Range("b2").Value 'Em A1 vc coloca o caminho do arquivo
Workbooks.Open Caminho
Call DefinePlanilhaDados
If txtCodigo.Text <> vbNullString And txtCodigo.Text <> "" Then
Call DesabilitaBotoesAlteracao
MsgBox "Modo de exclusão. Confira o dados do registro antes de excluí-lo", vbInformation + vbOKOnly, "Cliente"
Else
MsgBox "Não há registro a ser excluído", vbInformation + vbOKOnly, "Cliente"
End If
Windows(NomeArquivo).Visible = False 'oculta o arquivo de dados
'Endereço q funciona
Workbooks(NomeArquivo).Sheets("Auxiliar").Range("B6").Value = txtCodigo.Text
txtlancamentos.Text = Workbooks(NomeArquivo).Sheets("Auxiliar").Range("c6").Value
End Sub
Obrigado pela ajuda. Vamos em frente...