Ir ao conteúdo
  • Cadastre-se

Abrir diretório de acordo com a data


Posts recomendados

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

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...