Pesquisar neste blog

quarta-feira, 24 de abril de 2013


Como inserir uma linha antes de cada celula específica no Excel?

Se este post não responder a sua dúvida, por favor, deixe um comentário que eu certamente posso ajudá-lo pessoalmente.

Olá amigos,

Hoje me deparei com essa pergunta na internet e resolvi postar a resposta ao nosso amigo aqui no nosso blog. A pergunta dele foi a seguinte: 


Tenho uma planilha com 200 municípios e em cada um tenho 4 categorias
ex:
Município 1
COMERCIAL
INDUSTRIAL
PUBLICO
RESIDENCIAL.

Municipio 2
COMERCIAL
INDUSTRIAL
PUBLICO
RESIDENCIAL. (etc)
Preciso inserir uma linha antes de cada "residencial", pois surgiu outra categoria agora. (categora MISTO). Será se há possibilidade?

Obrigado.


A dica é simples. Pode-se fazer um a um é claro, mas também é possível fazer com uma macro em VBA. Como fazer isso?

Vá na guia Desenvolvedor (se esta guia não aparecer no seu Excel, vá em Arquivo > Opções > Personalizar Faixa de opções e marque a opção "Desenvolvedor" na segunda célula).



Em seguida clique em Visual Basic:


Na janela que se abre, clique em Inserir > Módulo:


Na janela que se abre, copie o código a seguir:

Sub MISTO()
Range("A1").Select 'seleciona primeira celula
    Cells.Find(What:="residencial", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate 'procura residencial
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove 'insere a linha
    ActiveCell.FormulaR1C1 = "MISTO" 'escreve MISTO na linha nova
   
For municipios = 1 To 199
    Cells.Find(What:="residencial", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate 'procura residencial
    Cells.FindNext(After:=ActiveCell).Activate 'procura residencial
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove 'insere a linha
    ActiveCell.FormulaR1C1 = "MISTO" 'escreve MISTO na linha nova
Next 'faz isso 200 vezes
End Sub

Aonde está 199 substitua pelo número de cidades menos 1.
Feche a janela. Salve a planilha.

Agora na janela do Excel, vá novamente na guia desenvolvedor, mas agora clique em Macros.

Com a Macro MISTO selecionada, clique em Executar.


Alterações feitas com sucesso! Caso aconteça qualquer erro, feche a planilha sem salvar e verifique as fórmulas, especialmente o número de cidades. 


Não se esqueça de se increver acima ^ e receber as novidades do blog!!

Abraços 
Albanir





Nenhum comentário:

Postar um comentário