- 09 Jul 2019 às 19:47
#45436
Boa noite a todos!
Tenho uma macro para dividir uma planilha que no geral funciona muito bom. Mas o meu problema é, para ela funcionar, eu preciso ter na pasta de trabalho as planilhas com os setores. Queria adaptar ela de uma forma que, caso ela não tivesse a planilha (o que, se der certo, nunca vai ter), ela criasse, com o nome do setor.
Também gostaria que ela mantivesse a formatação da planilha (bordas, espaçamentos, distâncias de linha) e copiasse a primeira linha em todas as outras.
É possível?
Obrigado!
Meu código:
Sub registra()
linha = 2
linha_final = Range("a1").End(xlDown).Row
While Cells(linha, 1) <> ""
Setor = Cells(linha, 1)
Funcionario = Cells(linha, 2)
Admissao = Cells(linha, 3)
Salario = Cells(linha, 4)
Antecipacao = Cells(linha, 5)
Taxa = Cells(linha, 6)
Total = Cells(linha, 7)
ult_linha = Sheets(Setor).Range("a10000").End(xlUp).Row + 1
Sheets(Setor).Cells(ult_linha, 1) = Setor
Sheets(Setor).Cells(ult_linha, 2) = Funcionario
Sheets(Setor).Cells(ult_linha, 3) = Admissao
Sheets(Setor).Cells(ult_linha, 4) = Salario
Sheets(Setor).Cells(ult_linha, 5) = Antecipacao
Sheets(Setor).Cells(ult_linha, 6) = Taxa
Sheets(Setor).Cells(ult_linha, 7) = Total
Range("J1") = linha / linha_final
linha = linha + 1
Wend
End Sub
Tenho uma macro para dividir uma planilha que no geral funciona muito bom. Mas o meu problema é, para ela funcionar, eu preciso ter na pasta de trabalho as planilhas com os setores. Queria adaptar ela de uma forma que, caso ela não tivesse a planilha (o que, se der certo, nunca vai ter), ela criasse, com o nome do setor.
Também gostaria que ela mantivesse a formatação da planilha (bordas, espaçamentos, distâncias de linha) e copiasse a primeira linha em todas as outras.
É possível?
Obrigado!
Meu código:
Sub registra()
linha = 2
linha_final = Range("a1").End(xlDown).Row
While Cells(linha, 1) <> ""
Setor = Cells(linha, 1)
Funcionario = Cells(linha, 2)
Admissao = Cells(linha, 3)
Salario = Cells(linha, 4)
Antecipacao = Cells(linha, 5)
Taxa = Cells(linha, 6)
Total = Cells(linha, 7)
ult_linha = Sheets(Setor).Range("a10000").End(xlUp).Row + 1
Sheets(Setor).Cells(ult_linha, 1) = Setor
Sheets(Setor).Cells(ult_linha, 2) = Funcionario
Sheets(Setor).Cells(ult_linha, 3) = Admissao
Sheets(Setor).Cells(ult_linha, 4) = Salario
Sheets(Setor).Cells(ult_linha, 5) = Antecipacao
Sheets(Setor).Cells(ult_linha, 6) = Taxa
Sheets(Setor).Cells(ult_linha, 7) = Total
Range("J1") = linha / linha_final
linha = linha + 1
Wend
End Sub