Страницы: 1
RSS
Выделение самой нижней заполненной ячейки того столбца, на котором находится фигура
 
Добрый день. Подскажите - как макросом - при щелчке на фигуре - переместится на ту ячейку - которая является самой нижней заполненной ячейкой столбца, на котором располагается фигура ?

Сейчас фигура находится на столбце "I"  - значит при щелчке по ней, курсор должен выделить ячейку I53 - которая заполнена пробелом.
 
а I67-I70 не всчет?
По вопросам из тем форума, личку не читаю.
 
БМВ, ну да - то есть последней ячейкой тут является I70
 
Код
Sub LastCellSelect()
Dim iNm$, iClmn&, iRow&
Dim iCell As Range
iNm = Application.Caller
With ActiveSheet
    Set iCell = .Shapes(iNm).TopLeftCell
    If Not iCell Is Nothing Then
        iClmn = iCell.Column
        iRow = .Cells(.Rows.Count, iClmn).End(xlUp).Row
        .Cells(iRow, iClmn).Select
    End If
End With
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Sanja, все нормально. Спасибо.
 

ой, а у меня так

Код
Sub moveObj()
    With ActiveSheet
        Set MCell = Cells(Cells.Rows.Count, .Shapes(1).TopLeftCell.Column).End(xlUp).Offset(1)
        .Shapes(1).Top = MCell.Top
        MCell.select
    End With
End Sub

Изменено: БМВ - 07.04.2018 19:47:15
По вопросам из тем форума, личку не читаю.
 
Михаил, так там вроде не надо сам шейп перемещать, просто
Цитата
Dim Ozerov написал: переместится на ту ячейку...курсор должен выделить ячейку
Согласие есть продукт при полном непротивлении сторон
 
:-( совсем скучно, я ж говорил, макросы не мое, я уж было навострился плавно фигуру перемещать :-)
Код
Sub moveObj()
        Cells(Cells.Rows.Count, ActiveSheet.Shapes(1).TopLeftCell.Column).End(xlUp).Offset(1).Select
End Sub
ну или для корректности
Код
Sub moveObj()
        Cells(Cells.Rows.Count, ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column).End(xlUp).Offset(1).Select
End Sub
Изменено: БМВ - 07.04.2018 19:56:12
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх