Pessoal podem me dar uma ajuda?
Fiz uma macro que esta funcionando perfeitamente em uma planilha (com 3 ABAS - PROCESSOS TRABALHISTAS, BASE TRABA ATUAL e BASE TRABA ANTERIOR) que busca e compara informações de 2 ABAS distintas, sendo BASE TRABA ATUAL e BASE TRABA ANTERIOR.
Estou criando mais 2 planilhas do mesmo estilo, mudando apenas as informações que serão comparadas, ou seja, serão mais 2 PLANILHAS com 3 ABAS cada.
Ao final, essas 3 PLANILHAS se transformarão em apenas 1, ou seja será apenas 1 PLANILHA COM NO MINIMO 9 ABAS.
Estive pensando e para que nao seja uma planilha com muitas ABAS eu gostaria de saber se é possivel alterar o codigo para que ele ABRA em um local x da rede essas ABAS (planilhas) a partir de um endereço de uma celula e faça todo o trabalho que preciso????
Abaixo segue parte do codigo.
Sub FORMATAR()
TEMPO_INI = Time
x_ABA = "PROCESSOS TRABALHISTAS"
ULTIMA_LINHA_GERAL = Sheets("BASE TRABA ATUAL").Range("B1048576").End(xlUp).Row
Sheets("PROCESSOS TRABALHISTAS").Select
ULTIMA_LINHA_CONT = Sheets("PROCESSOS TRABALHISTAS").Range("A1048576").End(xlUp).Row
If ULTIMA_LINHA_CONT = 5 Then
ULTIMA_LINHA_CONT = 6
End If
x_ROWS = "6:" & ULTIMA_LINHA_CONT
Rows(x_ROWS).Select
Rows(x_ROWS).ClearContents
'Selection.Delete Shift:=xlUp
ULTIMA_LINHA_CONT = Sheets("PROCESSOS TRABALHISTAS").Range("A1048576").End(xlUp).Row
If ULTIMA_LINHA_CONT = 5 Then
ULTIMA_LINHA_CONT = 6
End If
Sheets("BASE TRABA ATUAL").Select
Status = False
n_IMP = 4
NUMERADOR = 1
POSSIVEL = Sheets("PROCESSOS TRABALHISTAS").Cells(2, 7).Value
PROVAVEL = Sheets("PROCESSOS TRABALHISTAS").Cells(3, 7).Value
For n_IMP = 8 To ULTIMA_LINHA_GERAL
DETALHE = Sheets("BASE TRABA ATUAL").Cells(n_IMP, 3).Value
If DETALHE = "ATIVO" Then
Status = True
End If
If DETALHE = "ENCERRADO" Then
Status = False
End If
Sheets("PROCESSOS TRABALHISTAS").Select
If Status = True Then
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 1).Value = DETALHE
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 2).Value = NUMERADOR
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 3).Value = Sheets("BASE TRABA ATUAL").Cells(n_IMP, 19).Value
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 4).Value = Sheets("BASE TRABA ATUAL").Cells(n_IMP, 8).Value
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 5).Value = Sheets("BASE TRABA ATUAL").Cells(n_IMP, 13).Value
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 6).Value = Sheets("BASE TRABA ATUAL").Cells(n_IMP, 14).Value
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 7).Value = Sheets("BASE TRABA ATUAL").Cells(n_IMP, 5).Value
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 9).Value = Round(Sheets("BASE TRABA ATUAL").Cells(n_IMP, 26).Value, 2)
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 13).Value = Sheets("BASE TRABA ATUAL").Cells(n_IMP, 36).Value
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 14).Value = Sheets("BASE TRABA ATUAL").Cells(n_IMP, 30).Value
PREVISAO = Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 7).Value
VALOR = Round(Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 9).Value, 2)
If PREVISAO = "POSSÍVEL" Then
VALOR = VALOR * POSSIVEL
End If
If PREVISAO = "PROVÁVEL" Then
VALOR = VALOR * PROVAVEL
End If
If PREVISAO = "REMOTA" Then
VALOR = VALOR * 0
End If
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 10).Value = Round(VALOR, 2)
Sheets("PROCESSOS TRABALHISTAS").Cells(ULTIMA_LINHA_CONT, 11).Value = Sheets("BASE TRABA ATUAL").Cells(n_IMP, 27).Value
' If n_IMP = 976 Then
' n_STOP = 1
' End If
ULTIMA_LINHA_CONT = ULTIMA_LINHA_CONT + 1
NUMERADOR = NUMERADOR + 1
End If
Next
Call ORDENAR
Call COMPARAR2
Call BRANCO
Call PORCENTAGEM
Call MONTA_GRADES(x_ABA)
Call MONTA_GRADES_2(x_ABA)
TEMPO_FIM = Time
Total = TEMPO_FIM - TEMPO_INI
MsgBox "ROTINA FINALIZADA EM: " & Format(Total, "hh:mm:ss"), vbInformation, "CONTABILIDADE CORPORATIVA"
End Sub
Postado : 18/02/2016 11:48 am