At page 142 in the macro manual by A. Pitonyak, there is a section about how to do it, here's a function that returns the last column of the used area:
Function getLastUsedColumn(oSheet as Object) as Integer Dim oCell As Object Dim oCursor As Object Dim aAddress As Variant oCell = oSheet.GetCellbyPosition( 0, 0 ) oCursor = oSheet.createCursorByRange(oCell) oCursor.GotoEndOfUsedArea(True) aAddress = oCursor.RangeAddress GetLastUsedColumn = aAddress.EndColumn End Function I am wondering about the oCell thing. Why is that necessary? I tried the following and it seems to work: Function getLastUsedColumn(oSheet as Object) as Integer Dim oCursor As Object Dim aAddress As Variant oCursor = oSheet.createCursor oCursor.GotoEndOfUsedArea(True) aAddress = oCursor.RangeAddress GetLastUsedColumn = aAddress.EndColumn End Function Or even shorter, and still works and just as easy to follow (in my opinion): Function getLastUsedColumn(oSheet as Object) as Integer Dim oCursor As Object oCursor = oSheet.createCursor oCursor.GotoEndOfUsedArea(True) GetLastUsedColumn = oCursor.RangeAddress.EndColumn End Function Johnny Rosenberg --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
