Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hello, I am using VBA in Excel XP with Windows 2000
The function below is designed to locate the last used column in the sheet. If the sheet is blank, the function should return the integer zero. The problem is when the sheet is blank it generates the error "Object variable or with block not set." I've looked at it so long I can't see what is wrong. NOTE: Lines 2 and 3 should be on the same line Dim intColumn As Intege intColumn = ActiveSheet.UsedRange.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Colum If IsEmpty(intColumn) Then ColumnLastFilled = If Not IsEmpty(intColumn) Then ColumnLastFilled = intColum Thanks in advance |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Manasses,
Manasses wrote: The function below is designed to locate the last used column in the sheet. If the sheet is blank, the function should return the integer zero. The problem is when the sheet is blank it generates the error "Object variable or with block not set." I've looked at it so long I can't see what is wrong. NOTE: Lines 2 and 3 should be on the same line. Dim intColumn As Integer intColumn = ActiveSheet.UsedRange.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column If IsEmpty(intColumn) Then ColumnLastFilled = 0 If Not IsEmpty(intColumn) Then ColumnLastFilled = intColumn try this: On Error Resume Next intColumn = ActiveSheet.UsedRange.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column ColumnLastFilled = IIf(Err 0, 0, intColumn) -- Mit freundlichen Grüssen Melanie Breden - Microsoft MVP für Excel - http://excel.codebooks.de (Das Excel-VBA Codebook) |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
1.An Integer data type = 0 when initialized so it can't be Empty
2.Find returns a range object, if it not found, it returns Nothing , so your code is literally saying 'intColumn = Nothing.Column test the Find first Dim intColumn As Integer, x as rang Set x =ActiveSheet.UsedRange.Find(What:="*", SearchOrder:=xlByColumns,SearchDirection:=xlPrevio us If Not x Is Nothing Then intColumn = x.Colum If intColumn= 0 Then ColumnLastFilled = If Not intColumn= 0 Then ColumnLastFilled = intColum ----- Manasses wrote: ---- Hello, I am using VBA in Excel XP with Windows 2000 The function below is designed to locate the last used column in the sheet. If the sheet is blank, the function should return the integer zero. The problem is when the sheet is blank it generates the error "Object variable or with block not set." I've looked at it so long I can't see what is wrong. NOTE: Lines 2 and 3 should be on the same line Dim intColumn As Intege intColumn = ActiveSheet.UsedRange.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Colum If IsEmpty(intColumn) Then ColumnLastFilled = If Not IsEmpty(intColumn) Then ColumnLastFilled = intColum Thanks in advance |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
what's wrong with this function? | Excel Discussion (Misc queries) | |||
What's wrong with this IF function. | Excel Discussion (Misc queries) | |||
What is Wrong with this function?????????? | Excel Worksheet Functions | |||
What am I doing wrong with PMT function? | Excel Discussion (Misc queries) | |||
What's Wrong With This Function? | Excel Programming |