Ir para conteúdo
Fórum Script Brasil

silvaarthur89

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que silvaarthur89 postou

  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...