Notifications
Clear all

retornar colunas e linhas de area selecionada

5 Posts
2 Usuários
0 Reactions
603 Visualizações
(@edcronos)
Posts: 1006
Noble Member
Topic starter
 

No caso de uma área selecionada
como eu poderia pegar a letra da primeira coluna e da ultima,
e da primeira linha e da ultima

Range("C4:AB25").Select

primeira_coluna="C"
primeira_Linha=4
Ultima_coluna="AB"
Ultima_Linha=25

Até

 
Postado : 02/05/2014 2:59 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 


Sub Extremidades()

Range("C4:AB25").Select

c = Selection.Columns.Count
r = Selection.Rows.Count

i = ActiveCell.Address
pc = Mid(i, 2, Application.WorksheetFunction.Search("$", i, 2) - 2)
pl = ActiveCell.Row

f = Cells(ActiveCell.Row + r - 1, ActiveCell.Column + c - 1).Address

uc = Mid(f, 2, Application.WorksheetFunction.Search("$", f, 2) - 2)
ul = ActiveCell.Row + r - 1

MsgBox ("primeira_coluna = " & pc & Chr(13) & "primeira_linha = " & pl & Chr(13) & "última_coluna = " & uc & Chr(13) & "última_linha = " & ul)

End Sub

 
Postado : 02/05/2014 4:43 pm
(@edcronos)
Posts: 1006
Noble Member
Topic starter
 

Valeu mesmo,
pelo visto ainda tenho que aprender muita coisa...

 
Postado : 02/05/2014 5:25 pm
(@edcronos)
Posts: 1006
Noble Member
Topic starter
 

aconteceu um imprevisto,

quando se seleciona a área sem ser de cima para baixo e da esquerda para a direita o valores ficam errôneos
provavelmente por causa da célula ativa

 
Postado : 02/05/2014 5:49 pm
(@edcronos)
Posts: 1006
Noble Member
Topic starter
 

Já consegui,
valeu pela ajuda

Sub Extremidades()
Dim dr As Range '<<<<<<<<<
Set dr = Selection '<<<<<<<<<adicionei essas linhas para que a célula de cima e da esquerda seja sempre a ativa
dr.Select '<<<<<<<<<

c = Selection.Columns.Count
r = Selection.Rows.Count
i = ActiveCell.Address
pc = Mid(i, InStr(i, "$") + 1, InStr(2, i, "$") - 2)
pl = ActiveCell.Row
F = Cells(ActiveCell.Row + r - 1, ActiveCell.Column + c - 1).Address
uc = Mid(F, InStr(F, "$") + 1, InStr(2, F, "$") - 2)
ul = ActiveCell.Row + r - 1
MsgBox ("primeira_coluna = " & pc & Chr(13) & "primeira_linha = " & pl & _
Chr(13) & "última_coluna = " & uc & Chr(13) & "última_linha = " & ul)
End Sub

 
Postado : 02/05/2014 6:50 pm