2015-03-27 5 views
1

У меня есть следующий код VBA для преобразования в OpenOffice Calc:Определение ячеек в выбранной области

Sub RangeButton() 
Dim rngArea As Range 
    For Each rngArea In Selection.Areas 
    Cells(3, 2).Value = rngArea(1).Address(0, 0) & ":" & rngArea(rngArea.Cells.Count).Address(0, 0) 
    Next rngArea 
End Sub 

Я создаю кнопку диапазона для определения в клетке (3,2) первой и последней ячейки выбранной области. Я хотел бы знать, как я могу определить первую и последнюю выбранную ячейку.

В VBA определяется как:

rngArea(1).Address(0, 0) 
rngArea(rngArea.Cells.Count).Address(0, 0) 
+0

Я не мог сказать, что я понимаю ваш вопрос, но я думаю, что это поможет вам: 'MsgBox (Replace (Range (Cells (Selection.Row, Selection.Column), Ячейки (Selection.Row + Selection.Rows.Count - 1, Selection.Column + Selection.Columns.Count - 1)). Адрес, "$", "")) ' – user3819867

+1

Извините. Мне действительно нужен код для Open Office BASIC, который позволяет пользователю нажимать кнопку и сохранять в ячейке выделение, которое он только что сделал с помощью мыши. Например: пользователь выбирает A2: C5 с помощью мыши и нажимает кнопку, затем в ячейке («B3») появляется строка «A2: C5». Мне нужно сделать это, потому что я буду использовать этот диапазон как вход для другой функции. –

ответ

0
Range(rngArea(1).Address(0, 0),rngArea(rngArea.Cells.Count).Address(0, 0)) 

? (Если В VBA определено как означает, что вы определили первую и последнюю ячейки).
лично я бы определил их как

Selection = Range(_ 
Cells(rngArea(1).Row,rngArea(1).Column), _ 
Cells(rngArea(1).Row + rngArea(1).Rows.Count - 1, rngArea(1).Column + rngArea(1).Columns.Count - 1) _ 
) 
Смежные вопросы