Ok 1st for clarification you have access to LISP, so LT 2024 at least.
A function called Hit test it reads a cell in a table by just clicking inside the table cell.
;; Example shows how to pick a single table cell on screen and change its value.
;; This example demonstrates the ActiveX properties/methods HitTest,
;; GetCellType, GetText and SetText.
(defun SelectTableCell ( / pick vHeight vWidth lwrLeft uprRight vector
SS_TABLES cnt eMax cellValueOrg)
;; Ask the user for a point on screen
(if (/= (setq pick (vlax-3d-point (getpoint "\nSelect Cell to START sum from: "))) nil)
(progn
;; Get the corners of the screen display to build our selection set
(setq vHeight (getvar "viewsize"))
(setq vWidth (* (/ (nth 0 (getvar "screensize")) (nth 1 (getvar "screensize"))) vHeight))
(setq lwrLeft (list (- (nth 0 (getvar "viewctr")) (/ vWidth 2)) (- (nth 1 (getvar "viewctr")) (/ vHeight 2)) 0))
(setq uprRight (list (+ (nth 0 (getvar "viewctr")) (/ vWidth 2)) (+ (nth 1 (getvar "viewctr")) (/ vHeight 2)) 0))
;; Get the current display orientation
(setq vector (vlax-make-safearray vlax-vbDouble '(0 . 2)))
(vlax-safearray-fill vector '(1 1 1))
(setq vector (vlax-make-variant vector))
;; Select all the table objects visible on screen
(if (setq SS_TABLES (ssget "C" lwrleft uprright (list (cons 0 "ACAD_TABLE"))))
(progn
(setq cnt 0
eMax (sslength SS_TABLES)
)
;; Step through all the items in the selection set
(while (> eMax cnt)
;; Geta table object from the selection set
(setq tableObj (vlax-ename->vla-object (ssname SS_TABLES cnt)))
;; Return values for what cell was picked in
(setq row 0
col 0)
;; Below is also a sample to see if a valid cell is picked
;; (vla-select table pick vector vector 5 5 :vlax-false 'row 'col)
;; Check to see if a valid cell was picked
(if (= (vla-hittest tableObj pick vector 'row 'col) :vlax-true)
(progn
;; Get out of the loop
(setq cnt (1+ eMax))
;; Check to see what the Cell Type is (Text or Block)
(if (= (vla-GetCellType tableObj row col) acTextCell)
;; Let's get the value out exit with row - col
(setq cnt eMax)
)
)
)
(setq cnt (1+ cnt))
)
)
)
)
)
(princ)
) ; defun