eu realmente não entendi oq vc quer
mas considero aprender com praticas reais muito mais facil
vai informar a primeira linha vazia de cima para baixo a partir de uma linha inicial "tem que entender o uso"
Sheets("Nome_aba").Cells(linhainicial, Coluna).End(xlDown).Row+1
Row é a linha onde o comando para +1 é a linha logo abaixo
função que retorna numero da primeira linha que tem valor depois depois de certa linha inicial
Public Function PLinhaRange(ByVal Linha_inicial_de_Busca As Long, ByVal Letra_Coluna_ini As String, ByVal Letra_Coluna_Fim As String, Optional Nome_aba As String) As Long 'ultima linha com dados
'Application.Volatile
Dim C As Long, fLC As Long
If Nome_aba = "" Then Nome_aba = ActiveSheet.Name
cir = Cells(1, Letra_Coluna_ini).Column: cfr = Cells(1, Letra_Coluna_Fim).Column
fLC = Linha_inicial_de_Busca
For C = cir To cfr
fl1 = Sheets(Nome_aba).Cells(fLC, C).End(xlDown).Row
If fl1 > fLC And fl1 < Rows.Count Then fL2 = fl1
Next
PLinhaRange = fL2
End Function
indica a primeira linha vazia depois de uma linha preenchida ( de baixo para cima )
Sheets("Nome_aba").Cells(Rows.Count, Coluna).End(xlUp).Row+1
função que retorna ultima linha com dados de uma range
Public Function ULinhaRange(ByVal Letra_Coluna_ini As String, ByVal Letra_Coluna_Fim As String, Optional Nome_aba As String) As Long 'ultima linha com dados
'Application.Volatile
Dim C As Long, fLC As Long
If Nome_aba = "" Then Nome_aba = ActiveSheet.Name
fLC = 105
For C = Cells(1, Letra_Coluna_ini).Column To Cells(1, Letra_Coluna_Fim).Column
If Sheets(Nome_aba).Cells(Rows.Count, C).End(xlUp).Row > fLC Then fLC = Sheets(Nome_aba).Cells(Rows.Count, C).End(xlUp).Row
Next
ULinhaRange = fLC
End Function
desculpe as minha macros complicadas, infelizmente só sei fazer assim
Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.
"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"
Postado : 09/04/2015 1:38 pm