Ir para conteúdo
Fórum Script Brasil

silvaarthur89

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre silvaarthur89

silvaarthur89's Achievements

0

Reputação

  1. Estou escrevendo um código que abre uma planilha em um caminho na rede de acordo com uma data gravada em uma célula de uma sheet. A célula recebe o valor da formula =hoje() daí desencadeia todo código Com base no ano, mês e dia o código varre o caminho buscando a pasta do ano e mês referente depois ele concatena uma string com o nome inicial do arquivo + o dia + mês e ano. Até aí tudo bem, deixei variável o mês e ano e ele localiza a pasta correta, o problema é o dia, dentro da pasta tem várias planilhas com a seguinte nomenclatura de estrutura: “modelo base ativos “dia(dd).mes(mm).ano(aaaa), logo nem sempre terá a planilha do dia que consta na celula que recebe a formula hoje(), então pensei o seguinte: Criar uma sintaxe de erro no inicio do código do tipo: Sub teste() On error goto “nome” Exit sub “nome:” 1. Quando não localiza o arquivo aparece a mensagem que o arquivo não existe ou foi renomeado e excluído, essa mensagem obriga o usuário a clicar em ok, preciso automatizar o código para que ele aperte esse botão automaticamente senão trava as próximas ações 2. Criar um Loop que pegue a data gravada na celula some + 1 e excute novamente, se der erro (repete a ação 1 e 2) e segue a sequencia subtraindo a data por -1, se encontrar o arquivo ele abre se der erro ele repete o processo só que ao invés de subtrair 1 soma 1 a data. A ideia é seguir a logica alternada se erro subtrai o sequencial – 2 se der erro some o sequencial +2 e assim sucessivamente até subtrair 10 e somar 10, se ainda sim ele não encontrar aí deve aparecer a msgbox: “Atualização não realizada: planilha de ativos referente ao período não localizada na rede, contate administrador” Segue abaixo o código: Sub BBMP() Dim Caminho As String Dim Data As Date Dim Ano As Integer Dim Nome_mes As String Dim mes As String Dim Espaco As String Dim Nome_arquivo As String Dim Mes_numero As Integer Dim MesAjustado As String Dim DiaAjustado As String Sheets("Painel").Activate linha = 1 Range("B1:D1").ClearContents Cells(linha, 2).FormulaR1C1 = "=TODAY()" Cells(linha, 3).FormulaR1C1 = "=MONTH(RC[-1])" Cells(linha, 4).FormulaR1C1 = "=IF(RC[-1]<10,""0""&RC[-1],RC[-1])" Cells(linha, 5).FormulaR1C1 = "=DAY(RC[-3])" Cells(linha, 6).FormulaR1C1 = "=IF(RC[-1]<10,""0""&RC[-1],RC[-1])" Data = Cells(linha, 2).Value Ano = DatePart("yyyy", Data) Mes_numero = Cells(linha, 4).Value MesAjustado = Cells(linha, 4).Value Nome_mes = MonthName(Month(Data)) Espaco = Space(1) mes = "\" & Mes_numero & Espaco & "-" & Espaco & Nome_mes DiaAjustado = Cells(linha, 6).Value Caminho = "C:\teste\3 - testando\3 - Planilha teste\" Nome_arquivo = "\Modelo Base teste" & Espaco & DiaAjustado & "." & MesAjustado & "." & Ano & ".xlsb" Workbooks.Open (Caminho & Ano & mes & Nome_arquivo), UpdateLinks:=0 'Se não achar o arquivo eliminar o aviso e criar um loop para: dia -1, dia +1, dia -2, dia +2...dia -n, dia +n 'Se ainda sim não achar msgbox: "Atualização não realizada: planilha de teste referente ao período não localizada no drive, contate administrador" End Sub
×
×
  • Criar Novo...