how do i get current cell column & row in basic

current cell property?

This is very old solution:

REM Function for determining the active cell
REM Parameters:
REM resultType - 0 (default) return ActiveCell as object (for macro), 
REM			1 - return column number (based 0),
REM			2 - retur row number
REM			3 - absolute name of active cell as string
REM iSheet - index of the sheet for which the active cell is being searched.
REM 		is optional. By default - active sheet
REM oDoc - a spreadsheet for which an active cell is searched.
REM 		is optional. The default is the current document.
REM Returns a reference to the active cell or Null if it could not be determined
REM Author: Vladyslav Orlov aka JohnSUN, Ukraine, Kiev, 2012
REM by UROS > http://www.oooforum.org/forum/viewtopic.phtml?t=19348
REM by Villeroy > http://user.services.openoffice.org/en/forum/viewtopic.php?f=20&t=38672#p177590
Function ActiveCell(Optional resultType As Integer,  Optional iSheet As Long, Optional oDoc As Variant) As Variant
Dim arrayOfString()
Dim lRow&, lColumn&		
Dim tmpString$
Dim oCurrentController
Dim oSheets As Variant
Dim oSheet As Variant
	If IsMissing(oDoc) Then oDoc = ThisComponent
	If NOT oDoc.SupportsService("com.sun.star.sheet.SpreadsheetDocument") Then Exit Function
	oCurrentController = oDoc.getCurrentController()
	If IsMissing(iSheet) Then
		oSheet = oCurrentController.getActiveSheet()
		iSheet = oSheet.getRangeAddress().Sheet
	Else
		If (iSheet < 0) Then Exit Function
		oSheets = ThisComponent.getSheets()
		If (iSheet >= oSheets.getCount()) Then Exit Function
		oSheet = oSheets.getByIndex(iSheet)
	EndIf
	If IsMissing(resultType) Then resultType = 0
	tmpString = oCurrentController.getViewData()
	arrayOfString() = Split(tmpString, ";")
	If UBound(arrayOfString) < (3 + iSheet) Then Exit Function
	tmpString = arrayOfString(3 + iSheet)
	If InStr(tmpString,"+") > 0 Then
		arrayOfString() = Split(tmpString, "+")
	Else
		arrayOfString() = Split(tmpString, "/")
	EndIf
	lColumn = CLng(arrayOfString(0))
	If resultType = 1 Then
		ActiveCell = lColumn
	Else
		lRow = CLng(arrayOfString(1))
		If resultType = 2 Then
			ActiveCell = lRow
		Else		
			If resultType = 3 Then 
				ActiveCell = oSheet.getCellByPosition(lColumn, lRow).AbsoluteName
			Else
				ActiveCell = oSheet.getCellByPosition(lColumn, lRow)
			EndIf 
		EndIf 
	EndIf 
End Function

Call it from cell as function:

ActiveCell

Or from macro as described

Thanks John for solution. I was hoping that there would be shorter solution such as being able to get a “row” or “column” property of the current cell. I have seen a similar solution to yours in Andrew Pitonyak’s “OpenOffice.org Macros Explained”. I will add the solution he gives (coded by Paolo Mantovani) as another answer.

Obtain the active cell.

REM Author: Paolo Mantovani
REM email: mantovani.paolo@tin.it
Sub RetrieveTheActiveCell()
 Dim oOldSelection 'The original selection of cell ranges
 Dim oRanges 'A blank range created by the document
 Dim oActiveCell 'The current active cell
 Dim oConv 'The cell address conversion service
 Dim oDoc
 oDoc = ThisComponent
 REM store the current selection
 oOldSelection = oDoc.CurrentSelection
 REM Create an empty SheetCellRanges service and then select it.
 REM This leaves ONLY the active cell selected.
 oRanges = oDoc.createInstance("com.sun.star.sheet.SheetCellRanges")
 oDoc.CurrentController.Select(oRanges)
 REM Get the active cell!
 oActiveCell = oDoc.CurrentSelection
 oConv = oDoc.createInstance("com.sun.star.table.CellAddressConversion")
 oConv.Address = oActiveCell.getCellAddress
 Print oConv.UserInterfaceRepresentation
 print oConv.PersistentRepresentation
 REM Restore the old selection, but lose the previously active cell
 oDoc.CurrentController.Select(oOldSelection)
End Sub

Please use this button for code

CodButton.png