Olá,
é a primeira vez que pergunto algo aqui, portanto gostaria que me ajudassem se puderem por favor
bom, tenho uma planilha, e eu gravei uma macro onde importo dados externos, localizo um diretório e importo uma planilha como tabela, até aí foi muito fácil
porém, essa (a planilha importada) é uma planilha que é gerada todos os dias com o nome igual ao dia anterior (ex: hoje dia 01/07 a planilha chama-se: 30.xls, dia 25 a planilha chama-se 24.xls)
e essas ficam em um diretório mais ou menos assim: relatorios/ano/mes/planilha.xls (ex: relatórios/2016/julho/31.xls).
o que eu gostaria, é uma macro que buscasse o diretório em uma célula específica da planilha a qual terá essa outra importada como tabela,por exemplo: na célula A1, teria a função =hoje()-1, na A2: =TEXTO(A1;"mmmm"); e na A3: =TEXTO(A1;"aaaa") e na a4:=TEXTO(A1;"dd"), e na A5: Z:\PLANILHA_BETA\relatorio de estoque\
e finalmente uma ultima celula A6 com todas essas informações concatenadas formando o diretório.
mas não sei nada de VBA, apenas gravo as macros,e queria que a macro buscasse a planilha no diretório da celula A6, que será atualizado todos os dias.
bom, espero ter explixado bem, é difícil de expressar em palavras rsrs.
aqui está a macro que gravei para uma planilha que faz a mesma coisa porém de um unico diretório específico
Sub importa_estoque()
'
' importa_estoque Macro
'
'
Sheets("Vendas de produtos").Select
Range("A1").Select
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=Z:\PLANILHA_CASSIA_BETA\relatorio de estoque\CHEFWEB_-_R" _
, _
"001_-_Vendas_Produtos.xls;Mode=Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry P" _
, _
"ath="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk O" _
, _
"ps=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:En" _
, _
"crypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=F" _
, _
"alse;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLED" _
, "B:Bypass ChoiceField Validation=False"), Destination:=Range("$A$1")). _
QueryTable
.CommandType = xlCmdTable
.CommandText = Array("Sheet$")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceDataFile = _
"Z:\PLANILHA_CASSIA_BETA\relatorio de estoque\CHEFWEB_-_R001_-_Vendas_Produtos.xls"
.ListObject.DisplayName = "Tabela_CHEFWEB___R001___Vendas_Produtos"
.Refresh BackgroundQuery:=False
End With