Try this...
It will print the used range to the text screen.
Change the items in RED to your needs.
(defun test (MySpreadsheet SheetName)
(setq xlApp (vlax-get-or-create-object "Excel.Application")
xlBooks (vlax-get-property xlApp "Workbooks")
xlBook (vlax-invoke-method xlBooks "Open" MySpreadsheet)
xlSheets (vlax-get-property xlBook "Sheets")
xlSheet (vlax-get-property xlSheets "Item" SheetName)
)
; CYCLE THROUGH THE USED RANGE AND PRINT TEXT TO SCREEN...
(vlax-for itm (vlax-get-property xlSheet 'UsedRange)
(print (vlax-variant-value (vlax-get-property itm 'Text))) ; <<< REPLACE WITH YOUR CODE AS NEEDED.
)
(mapcar
(function
(lambda(x)
(vl-catch-all-apply
(function
(lambda()
(vlax-release-object (vl-symbol-value x))
(set (read (vl-symbol-name x)) nil)
); _end lambda
)
)
)
)
(list 'xlSheet 'xlSheets 'xlBook 'xlBooks 'xlApp)
)
(gc)(gc)
(princ)
)
; SEND THE PATH/FILE AND SHEET NAME TO THE FUNCTION.
(test "C:/MyPath/MyFile.xlsx" "Sheet_Name")