File Exchange

image thumbnail

Calculate Excel Range

version 1.3 (6.89 KB) by

Calculates full target range in Excel A1 notation.

2 Downloads

Updated

View License

xlrange = xlcalcrange(h,refCell,r,c,m,n)returns the full target range, xlrange in Excel A1 notation to cover an m-by-n array, starting from an offset of r rows & c columns from the starting cell, refCell.

Any workbook\worksheet prefix is removed from refcell, as are any absolute '$' markers prior to range calculation.
i.e.
refcell = 'C:\directorypath\[filename.xlsm]worksheet1'!$P$6:$AC$91

becomes:

refcell = P6:AC91

refcell can also be an Excel named range, but requires the Excel workbook to be open via an actxserver COM object, and a handle to the object, h, passed as a function argument. h is ignored if refcell is not a named range.

Note: this file makes use of 2 functions: dec2base27.m & base27dec.m that were sourced from inside of Mathwork's function, xlswrite.m

Please let me know of any bugs

Comments and Ratings (5)

Worked well for me. Thanks.

Hi Traian,

You need to provide a reference cell, or range of cells, or named range e.g. A1, or A1:D3, or myStartCell

If using an explicit A1-notation range, you can prepend with the workbook and or worksheet (as in my example in the function Description). However, an Excel named range must be specified on its own.

I have just submitted an update that allows you to specify, if using an Excel named range, a particular workbook via a COM object handle, which allows for Excel named ranges in a multi-workbook environment. But the COM handle is ignored if just using an explicit A1-notation range, since that is workbook agnostic.

Traian Preda

Hi,

I have a question, can I use this function only by typing xlcalcrange('c:\mytestfile.xls') or I have to provide the selection from excel?

Can you please send me an example regarding how I can use this function for an excel file.

Thanks

Arjun

Arjun (view profile)

Works like a charm! Thanks!!

Qun HAN

Qun HAN (view profile)

Updates

1.3

Added Excel COM workbook handle to argument list, to enable use of named ranges when multiple workbooks are open. This is ignored if not using a named range

MATLAB Release
MATLAB 8.0 (R2012b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video