Olá.
Não sou muito bom com macros, mas criei as macros abaixo baseando em exemplos aqui do fórum e outros locais da Internet.
Elas servem apenas para incluir uma linha acima ou uma linha abaixo, mantendo os detalhes da linha atual em que está o cursor do Excel (cores, fonte, etc.).
Elas estão "quase" funcionando, mas apresentam os seguintes problemas:
- InserirLinhaAbaixo: quando a linha atual é a que fica antes do rodapé, ao executar a macro com CTRL-B, o cursor fica sempre na primeira coluna da nova linha, quando deveria se manter na mesma coluna em que estava. Nas outras linhas isso não acontece.
- InserirLinhaAcima: quando a linha atual é a primeira após a linha de título, ao executar a macro com CTRL-A, as listas suspensas não são incluídas na nova linha. Só acontece com essa linha, para as outras isso não ocorre.
Alguém poderia ajudar a resolver isso?
Agradeço muito.
Obs.: segue em anexo uma pequena planilha como exemplo:
Public Sub InserirLinhaAbaixo()
Dim coluna As Long
Dim linha As Long
ActiveCell.Offset(1, 0).Select
coluna = ActiveCell.Column
linha = ActiveCell.Row
ActiveCell.Offset(0, 0).Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveCell.Offset(-1, 0).Rows("1:1").EntireRow.Select
Selection.Copy
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Cells(linha, coluna).Select
End Sub
Public Sub InserirLinhaAcima()
Dim coluna As Long
Dim linha As Long
coluna = ActiveCell.Column
linha = ActiveCell.Row
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
Selection.Copy
ActiveCell.Offset(-1, 0).Rows("1:1").EntireRow.Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Cells(linha, coluna).Select
End Sub
Postado : 13/02/2014 8:58 am