Ir ao conteúdo
  • Cadastre-se
abnlima2010

Abrir diretório de acordo com a data

Recommended Posts

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

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×