Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 31
Default Last used Column

I have been successfully using the function below since Jim Tomlinson posted
it in 2006. Recently under certain circumstances it has returned an "invalid"
value.

In a case in point:
sh has 19 columns and 70 rows
Cells 1 to 19 of Row 1 have been merged
25 rows have been filtered out using autofilter (filtered col = 19)

If I leave the filtering in place the function is returning 1
If I remove the filtering, it correctly returns 19.

Can anyone explain why and whether there are other circumstances in which it
might behave unexpectedly?

Function fnLastCol(sh As Worksheet) As Long
fnLastCol = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
End Function

TIA

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,510
Default Last used Column

Hi Lionel,

Under testing the problem seems to occur only if the filtered data is on
contiguous rows like Column headers on row 1 and rows 2,3,4 etc with data. If
there is at least 1 hidden row to break the displayed data then it works fine.

However, I have tested using after the last cell on the worksheet and that
seems to overcome the problem. (that does not mean that I have not introduced
another; just that I have not yet found it)

Function fnLastCol(sh As Worksheet) As Long
fnLastCol = sh.Cells.Find(What:="*", _
After:=sh.Cells(sh.Rows.Count, _
sh.Columns.Count), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
End Function

--
Regards,

OssieMac

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 31
Default Last used Column

Hi OssieMac,

Thanks for the work.
Taking it further, the problem seems to be even more specific than that.
Having chased the problem away by breaking the sequence (hiding and unhiding
a column), I couldn't make the problem reccur without closing (without saving
(may not be relevant)) and reopening the file.

Still, for this occurrence at least, rather than mess with the function
which I use all over the place, the answer, since I remove the filter later
in the application anyway, is just to remove it a bit earlier.

Thanks again,

Lionel

"OssieMac" wrote:

Hi Lionel,

Under testing the problem seems to occur only if the filtered data is on
contiguous rows like Column headers on row 1 and rows 2,3,4 etc with data. If
there is at least 1 hidden row to break the displayed data then it works fine.

However, I have tested using after the last cell on the worksheet and that
seems to overcome the problem. (that does not mean that I have not introduced
another; just that I have not yet found it)

Function fnLastCol(sh As Worksheet) As Long
fnLastCol = sh.Cells.Find(What:="*", _
After:=sh.Cells(sh.Rows.Count, _
sh.Columns.Count), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
End Function

--
Regards,

OssieMac

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Referencing date column A & time column B to get info from column TVGuy29 Excel Discussion (Misc queries) 1 January 24th 08 09:50 PM
Search for a column based on the column header and then past data from it to another column in another workbook minkokiss Excel Programming 2 April 5th 07 01:12 AM
Based on a condition in one column, search for a year in another column, and display data from another column in the same row look [email protected] Excel Programming 2 December 30th 06 06:23 PM
Based on a condition in one column, search for a year in another column, and display data from another column in the same row look [email protected] Excel Discussion (Misc queries) 1 December 27th 06 05:47 PM
How can i have all alike product codes in column A be matched with like cities in column B and then add the totals that are in column C [email protected] Excel Programming 4 August 2nd 06 01:10 AM


All times are GMT +1. The time now is 08:34 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"