Substitua a linha:
i=20
com:
With ActiveSheet
i = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Conta o número de linhas com dados na coluna A.
A propósito, testei sua macro e ela não adiciona uma linha.
Estou criando um código VBA no Excel para adicionar uma linha e formatá-la.
Preciso que o valor de "i" seja uma variável (em vez de 20, como mostrado), dependendo do número de entradas na primeira coluna da minha planilha do Excel.
Sub NextLine()
'
' AddLine Macro
' Adds Line
Dim i As Integer
i = 20
ActiveCell.Offset(1, 0).Select '1 row down
ActiveWindow.ScrollColumn = 4
ActiveWindow.SmallScroll ToRight:=1
Range("$A$1:$M$" & i).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlHairline
End With
ActiveSheet.PageSetup.PrintArea = "$A$1:$M$" & i
End Sub
Substitua a linha:
i=20
com:
With ActiveSheet
i = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Conta o número de linhas com dados na coluna A.
A propósito, testei sua macro e ela não adiciona uma linha.
Tags microsoft-excel vba