ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   using CountIf in VB (https://www.excelbanter.com/excel-programming/388470-using-countif-vbulletin.html)

Prem

using CountIf in VB
 
When i am using the following line of code in my VB6.0 Program

"If WorksheetFunction.CountIf(Cells, rs1.Fields(0).Value) = 0 Then"

the application always throws the following Error message which is not
understable
"Method '~' of object '~' failed"

Can anyone throw some light on this issue.

--
Premkumar

Bob Phillips

using CountIf in VB
 
It must depend upon what you have in rs1.Fields(0).Value.

But using Cells is not a good idea, checking over 16M cells is a tad
wasteful.

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)



"Prem" wrote in message
...
When i am using the following line of code in my VB6.0 Program

"If WorksheetFunction.CountIf(Cells, rs1.Fields(0).Value) = 0 Then"

the application always throws the following Error message which is not
understable
"Method '~' of object '~' failed"

Can anyone throw some light on this issue.

--
Premkumar




Prem

using CountIf in VB
 
Thanks Bob for ur reply...

But the issue is not with rs1.fields(0).value.... while in debug mode it
contains the data which is present in the excel sheet.

if you want me to avoid using Cells then what should i use to check whether
the given value is present in the excel sheet.

--
Premkumar


"Bob Phillips" wrote:

It must depend upon what you have in rs1.Fields(0).Value.

But using Cells is not a good idea, checking over 16M cells is a tad
wasteful.

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)



"Prem" wrote in message
...
When i am using the following line of code in my VB6.0 Program

"If WorksheetFunction.CountIf(Cells, rs1.Fields(0).Value) = 0 Then"

the application always throws the following Error message which is not
understable
"Method '~' of object '~' failed"

Can anyone throw some light on this issue.

--
Premkumar





NickHK

using CountIf in VB
 
As you are working in VB6, you need to qualify the objects that are not part
of VB (as you have done with the Fields collection of the Recordset),
otherwise VB does not know which library the objects are from.
You can use the Object Browser to see the object hierarchy. e.g.
XLApp.WorksheetFunction...
where XLApp is you instance of Excel

And Cells belongs to a worksheet. But as Bob says, use a range rather than
all cells on the required sheet.

NickHK

"Prem" wrote in message
...
When i am using the following line of code in my VB6.0 Program

"If WorksheetFunction.CountIf(Cells, rs1.Fields(0).Value) = 0 Then"

the application always throws the following Error message which is not
understable
"Method '~' of object '~' failed"

Can anyone throw some light on this issue.

--
Premkumar




Prem

using CountIf in VB
 
Hi,

when i use the qualified names for the fucntions it works well in my system
but fails in the production environment. I tried the following lines

Excel.WorksheetFunction.CountIf(oxlsheet.Range(oxl sheet.Cells(1, 1),
oxlsheet.Cells(1, 256)), rs1.Fields(0).Value) = 0 Then

and this line also throws the same error(ref previous post)

oxlsheet.Cells.Find(What:="'" & rs1.Fields(0).Value & "'", After:=[A1],
LookIn:=xlFormulas, _
LookAt:=xlPart,
SearchOrder:=xlByRows, _
SearchDirection:=xlNext,
MatchCase:=False).Activate

What could be the problem?

--
Premkumar


"NickHK" wrote:

As you are working in VB6, you need to qualify the objects that are not part
of VB (as you have done with the Fields collection of the Recordset),
otherwise VB does not know which library the objects are from.
You can use the Object Browser to see the object hierarchy. e.g.
XLApp.WorksheetFunction...
where XLApp is you instance of Excel

And Cells belongs to a worksheet. But as Bob says, use a range rather than
all cells on the required sheet.

NickHK

"Prem" wrote in message
...
When i am using the following line of code in my VB6.0 Program

"If WorksheetFunction.CountIf(Cells, rs1.Fields(0).Value) = 0 Then"

the application always throws the following Error message which is not
understable
"Method '~' of object '~' failed"

Can anyone throw some light on this issue.

--
Premkumar





NickHK

using CountIf in VB
 
You have to qualify the objects with the reference to the your instance of
Excel, not Excel itself.

I suppose somewhere you have
Dim XLApp as excel.application
set xlapp=new....

so use
xlapp.WorksheetFunction.CountIf(oxlsheet.....

And qualify ALL the syntax from Excel used in VB6: e.g.
[A6], xlPart, xlFormulas etc.

NickHK


"Prem" wrote in message
...
Hi,

when i use the qualified names for the fucntions it works well in my

system
but fails in the production environment. I tried the following lines

Excel.WorksheetFunction.CountIf(oxlsheet.Range(oxl sheet.Cells(1, 1),
oxlsheet.Cells(1, 256)), rs1.Fields(0).Value) = 0 Then

and this line also throws the same error(ref previous post)

oxlsheet.Cells.Find(What:="'" & rs1.Fields(0).Value & "'", After:=[A1],
LookIn:=xlFormulas, _
LookAt:=xlPart,
SearchOrder:=xlByRows, _
SearchDirection:=xlNext,
MatchCase:=False).Activate

What could be the problem?

--
Premkumar


"NickHK" wrote:

As you are working in VB6, you need to qualify the objects that are not

part
of VB (as you have done with the Fields collection of the Recordset),
otherwise VB does not know which library the objects are from.
You can use the Object Browser to see the object hierarchy. e.g.
XLApp.WorksheetFunction...
where XLApp is you instance of Excel

And Cells belongs to a worksheet. But as Bob says, use a range rather

than
all cells on the required sheet.

NickHK

"Prem" wrote in message
...
When i am using the following line of code in my VB6.0 Program

"If WorksheetFunction.CountIf(Cells, rs1.Fields(0).Value) = 0 Then"

the application always throws the following Error message which is not
understable
"Method '~' of object '~' failed"

Can anyone throw some light on this issue.

--
Premkumar







Prem

using CountIf in VB
 
Hi,
Thanks for ur reply.

i tried using the instance of Excel object instead of "Excel". then also my
application fails in the production environment(Windows Server2003).
is there any problem with the DLLs. If so please specify which DLL i need
to update in the production machine.


--
Premkumar


"NickHK" wrote:

You have to qualify the objects with the reference to the your instance of
Excel, not Excel itself.

I suppose somewhere you have
Dim XLApp as excel.application
set xlapp=new....

so use
xlapp.WorksheetFunction.CountIf(oxlsheet.....

And qualify ALL the syntax from Excel used in VB6: e.g.
[A6], xlPart, xlFormulas etc.

NickHK


"Prem" wrote in message
...
Hi,

when i use the qualified names for the fucntions it works well in my

system
but fails in the production environment. I tried the following lines

Excel.WorksheetFunction.CountIf(oxlsheet.Range(oxl sheet.Cells(1, 1),
oxlsheet.Cells(1, 256)), rs1.Fields(0).Value) = 0 Then

and this line also throws the same error(ref previous post)

oxlsheet.Cells.Find(What:="'" & rs1.Fields(0).Value & "'", After:=[A1],
LookIn:=xlFormulas, _
LookAt:=xlPart,
SearchOrder:=xlByRows, _
SearchDirection:=xlNext,
MatchCase:=False).Activate

What could be the problem?

--
Premkumar


"NickHK" wrote:

As you are working in VB6, you need to qualify the objects that are not

part
of VB (as you have done with the Fields collection of the Recordset),
otherwise VB does not know which library the objects are from.
You can use the Object Browser to see the object hierarchy. e.g.
XLApp.WorksheetFunction...
where XLApp is you instance of Excel

And Cells belongs to a worksheet. But as Bob says, use a range rather

than
all cells on the required sheet.

NickHK

"Prem" wrote in message
...
When i am using the following line of code in my VB6.0 Program

"If WorksheetFunction.CountIf(Cells, rs1.Fields(0).Value) = 0 Then"

the application always throws the following Error message which is not
understable
"Method '~' of object '~' failed"

Can anyone throw some light on this issue.

--
Premkumar







NickHK

using CountIf in VB
 
You have set a reference to the Excel Type library ?

Then, test this basic code:
Private Sub Command1_Click()
Dim XLApp As Excel.Application
Dim XLWB As Excel.Workbook

Set XLApp = New Excel.Application

With XLApp
.Visible = True
Set XLWB = .Workbooks.Add
End With

With XLWB.Worksheets(1).Range("A1")
.Value = "Some text"
MsgBox .Text
End With


XLWB.Close False
Set XLWB = Nothing

XLApp.Quit
Set XLApp = Nothing

End Sub

NickHK


"Prem" wrote in message
...
Hi,
Thanks for ur reply.

i tried using the instance of Excel object instead of "Excel". then also

my
application fails in the production environment(Windows Server2003).
is there any problem with the DLLs. If so please specify which DLL i need
to update in the production machine.


--
Premkumar


"NickHK" wrote:

You have to qualify the objects with the reference to the your instance

of
Excel, not Excel itself.

I suppose somewhere you have
Dim XLApp as excel.application
set xlapp=new....

so use
xlapp.WorksheetFunction.CountIf(oxlsheet.....

And qualify ALL the syntax from Excel used in VB6: e.g.
[A6], xlPart, xlFormulas etc.

NickHK


"Prem" wrote in message
...
Hi,

when i use the qualified names for the fucntions it works well in my

system
but fails in the production environment. I tried the following lines

Excel.WorksheetFunction.CountIf(oxlsheet.Range(oxl sheet.Cells(1, 1),
oxlsheet.Cells(1, 256)), rs1.Fields(0).Value) = 0 Then

and this line also throws the same error(ref previous post)

oxlsheet.Cells.Find(What:="'" & rs1.Fields(0).Value & "'",

After:=[A1],
LookIn:=xlFormulas, _
LookAt:=xlPart,
SearchOrder:=xlByRows, _
SearchDirection:=xlNext,
MatchCase:=False).Activate

What could be the problem?

--
Premkumar


"NickHK" wrote:

As you are working in VB6, you need to qualify the objects that are

not
part
of VB (as you have done with the Fields collection of the

Recordset),
otherwise VB does not know which library the objects are from.
You can use the Object Browser to see the object hierarchy. e.g.
XLApp.WorksheetFunction...
where XLApp is you instance of Excel

And Cells belongs to a worksheet. But as Bob says, use a range

rather
than
all cells on the required sheet.

NickHK

"Prem" wrote in message
...
When i am using the following line of code in my VB6.0 Program

"If WorksheetFunction.CountIf(Cells, rs1.Fields(0).Value) = 0

Then"

the application always throws the following Error message which is

not
understable
"Method '~' of object '~' failed"

Can anyone throw some light on this issue.

--
Premkumar









Prem

using CountIf in VB
 
Hi,

i tried the code u sent... i works fine in production machine(i got the
message box).

but the CountIf function alone fails in the machine.

what should I do next?

Thanks.
--
Premkumar


"NickHK" wrote:

You have set a reference to the Excel Type library ?

Then, test this basic code:
Private Sub Command1_Click()
Dim XLApp As Excel.Application
Dim XLWB As Excel.Workbook

Set XLApp = New Excel.Application

With XLApp
.Visible = True
Set XLWB = .Workbooks.Add
End With

With XLWB.Worksheets(1).Range("A1")
.Value = "Some text"
MsgBox .Text
End With


XLWB.Close False
Set XLWB = Nothing

XLApp.Quit
Set XLApp = Nothing

End Sub

NickHK


"Prem" wrote in message
...
Hi,
Thanks for ur reply.

i tried using the instance of Excel object instead of "Excel". then also

my
application fails in the production environment(Windows Server2003).
is there any problem with the DLLs. If so please specify which DLL i need
to update in the production machine.


--
Premkumar


"NickHK" wrote:

You have to qualify the objects with the reference to the your instance

of
Excel, not Excel itself.

I suppose somewhere you have
Dim XLApp as excel.application
set xlapp=new....

so use
xlapp.WorksheetFunction.CountIf(oxlsheet.....

And qualify ALL the syntax from Excel used in VB6: e.g.
[A6], xlPart, xlFormulas etc.

NickHK


"Prem" wrote in message
...
Hi,

when i use the qualified names for the fucntions it works well in my
system
but fails in the production environment. I tried the following lines

Excel.WorksheetFunction.CountIf(oxlsheet.Range(oxl sheet.Cells(1, 1),
oxlsheet.Cells(1, 256)), rs1.Fields(0).Value) = 0 Then

and this line also throws the same error(ref previous post)

oxlsheet.Cells.Find(What:="'" & rs1.Fields(0).Value & "'",

After:=[A1],
LookIn:=xlFormulas, _
LookAt:=xlPart,
SearchOrder:=xlByRows, _
SearchDirection:=xlNext,
MatchCase:=False).Activate

What could be the problem?

--
Premkumar


"NickHK" wrote:

As you are working in VB6, you need to qualify the objects that are

not
part
of VB (as you have done with the Fields collection of the

Recordset),
otherwise VB does not know which library the objects are from.
You can use the Object Browser to see the object hierarchy. e.g.
XLApp.WorksheetFunction...
where XLApp is you instance of Excel

And Cells belongs to a worksheet. But as Bob says, use a range

rather
than
all cells on the required sheet.

NickHK

"Prem" wrote in message
...
When i am using the following line of code in my VB6.0 Program

"If WorksheetFunction.CountIf(Cells, rs1.Fields(0).Value) = 0

Then"

the application always throws the following Error message which is

not
understable
"Method '~' of object '~' failed"

Can anyone throw some light on this issue.

--
Premkumar










NickHK

using CountIf in VB
 
Show what code you are using, with the basic below that is working AND
qualifying all the object and constants that you use.

NickHK

"Prem" wrote in message
...
Hi,

i tried the code u sent... i works fine in production machine(i got the
message box).

but the CountIf function alone fails in the machine.

what should I do next?

Thanks.
--
Premkumar


"NickHK" wrote:

You have set a reference to the Excel Type library ?

Then, test this basic code:
Private Sub Command1_Click()
Dim XLApp As Excel.Application
Dim XLWB As Excel.Workbook

Set XLApp = New Excel.Application

With XLApp
.Visible = True
Set XLWB = .Workbooks.Add
End With

With XLWB.Worksheets(1).Range("A1")
.Value = "Some text"
MsgBox .Text
End With


XLWB.Close False
Set XLWB = Nothing

XLApp.Quit
Set XLApp = Nothing

End Sub

NickHK


"Prem" wrote in message
...
Hi,
Thanks for ur reply.

i tried using the instance of Excel object instead of "Excel". then

also
my
application fails in the production environment(Windows Server2003).
is there any problem with the DLLs. If so please specify which DLL i

need
to update in the production machine.


--
Premkumar


"NickHK" wrote:

You have to qualify the objects with the reference to the your

instance
of
Excel, not Excel itself.

I suppose somewhere you have
Dim XLApp as excel.application
set xlapp=new....

so use
xlapp.WorksheetFunction.CountIf(oxlsheet.....

And qualify ALL the syntax from Excel used in VB6: e.g.
[A6], xlPart, xlFormulas etc.

NickHK


"Prem" wrote in message
...
Hi,

when i use the qualified names for the fucntions it works well in

my
system
but fails in the production environment. I tried the following

lines

Excel.WorksheetFunction.CountIf(oxlsheet.Range(oxl sheet.Cells(1,

1),
oxlsheet.Cells(1, 256)), rs1.Fields(0).Value) = 0 Then

and this line also throws the same error(ref previous post)

oxlsheet.Cells.Find(What:="'" & rs1.Fields(0).Value & "'",

After:=[A1],
LookIn:=xlFormulas, _
LookAt:=xlPart,
SearchOrder:=xlByRows, _
SearchDirection:=xlNext,
MatchCase:=False).Activate

What could be the problem?

--
Premkumar


"NickHK" wrote:

As you are working in VB6, you need to qualify the objects that

are
not
part
of VB (as you have done with the Fields collection of the

Recordset),
otherwise VB does not know which library the objects are from.
You can use the Object Browser to see the object hierarchy. e.g.
XLApp.WorksheetFunction...
where XLApp is you instance of Excel

And Cells belongs to a worksheet. But as Bob says, use a range

rather
than
all cells on the required sheet.

NickHK

"Prem" wrote in message
...
When i am using the following line of code in my VB6.0 Program

"If WorksheetFunction.CountIf(Cells, rs1.Fields(0).Value) = 0

Then"

the application always throws the following Error message

which is
not
understable
"Method '~' of object '~' failed"

Can anyone throw some light on this issue.

--
Premkumar












Prem

using CountIf in VB
 
thanks for ur help...

here is the complete code i used to test the countif function
Public XLApp As Excel.Application
Public XLWB As Excel.Workbook

Private Sub Command1_Click()
If WorksheetFunction.CountIf(Cells, "Some text") = 0 Then
MsgBox "Not Found..."
Else
MsgBox "found...."
End If


End Sub

Private Sub Command2_Click()
XLWB.Close False
Set XLWB = Nothing

XLApp.Quit
Set XLApp = Nothing
End Sub

Private Sub Form_Load()
Set XLApp = New Excel.Application

With XLApp
.Visible = True
Set XLWB = .Workbooks.Add
End With
With XLWB.Worksheets(1).Range("A1")
.Value = "Some text"
MsgBox .Text
End With

End Sub

One more important information is the countif function runs(shows the
msgbox) successfully for the first time. From the second time onwards it
throws the error message as "The method ~ of Object ~ failed".

if you need any further information i am pleased to give..

--
Premkumar


"NickHK" wrote:

Show what code you are using, with the basic below that is working AND
qualifying all the object and constants that you use.

NickHK

"Prem" wrote in message
...
Hi,

i tried the code u sent... i works fine in production machine(i got the
message box).

but the CountIf function alone fails in the machine.

what should I do next?

Thanks.
--
Premkumar


"NickHK" wrote:

You have set a reference to the Excel Type library ?

Then, test this basic code:
Private Sub Command1_Click()
Dim XLApp As Excel.Application
Dim XLWB As Excel.Workbook

Set XLApp = New Excel.Application

With XLApp
.Visible = True
Set XLWB = .Workbooks.Add
End With

With XLWB.Worksheets(1).Range("A1")
.Value = "Some text"
MsgBox .Text
End With


XLWB.Close False
Set XLWB = Nothing

XLApp.Quit
Set XLApp = Nothing

End Sub

NickHK


"Prem" wrote in message
...
Hi,
Thanks for ur reply.

i tried using the instance of Excel object instead of "Excel". then

also
my
application fails in the production environment(Windows Server2003).
is there any problem with the DLLs. If so please specify which DLL i

need
to update in the production machine.


--
Premkumar


"NickHK" wrote:

You have to qualify the objects with the reference to the your

instance
of
Excel, not Excel itself.

I suppose somewhere you have
Dim XLApp as excel.application
set xlapp=new....

so use
xlapp.WorksheetFunction.CountIf(oxlsheet.....

And qualify ALL the syntax from Excel used in VB6: e.g.
[A6], xlPart, xlFormulas etc.

NickHK


"Prem" wrote in message
...
Hi,

when i use the qualified names for the fucntions it works well in

my
system
but fails in the production environment. I tried the following

lines

Excel.WorksheetFunction.CountIf(oxlsheet.Range(oxl sheet.Cells(1,

1),
oxlsheet.Cells(1, 256)), rs1.Fields(0).Value) = 0 Then

and this line also throws the same error(ref previous post)

oxlsheet.Cells.Find(What:="'" & rs1.Fields(0).Value & "'",
After:=[A1],
LookIn:=xlFormulas, _
LookAt:=xlPart,
SearchOrder:=xlByRows, _
SearchDirection:=xlNext,
MatchCase:=False).Activate

What could be the problem?

--
Premkumar


"NickHK" wrote:

As you are working in VB6, you need to qualify the objects that

are
not
part
of VB (as you have done with the Fields collection of the
Recordset),
otherwise VB does not know which library the objects are from.
You can use the Object Browser to see the object hierarchy. e.g.
XLApp.WorksheetFunction...
where XLApp is you instance of Excel

And Cells belongs to a worksheet. But as Bob says, use a range
rather
than
all cells on the required sheet.

NickHK

"Prem" wrote in message
...
When i am using the following line of code in my VB6.0 Program

"If WorksheetFunction.CountIf(Cells, rs1.Fields(0).Value) = 0
Then"

the application always throws the following Error message

which is
not
understable
"Method '~' of object '~' failed"

Can anyone throw some light on this issue.

--
Premkumar














All times are GMT +1. The time now is 05:01 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com