Type Mismatch Error

M

Minitman

Greetings,

I am getting a:

Run-time error '13':
Type mismatch

In this line of code:

Me.Controls(vName & vNum + 1) = _
(Me.Controls(vName & vNum) * _
CDbl(C_8)) + CDbl(C_11)

In a select case sub that looks like this:
_____________________________________________________________
Public Sub CellFormat(vName As Variant, vNum As Variant)

Select Case vName
Case "C_"
Select Case vNum
Case "I_"
Select Case vNum
Case 4, 6, 8, 10, 12, 14

'I tried to put 0's where there were vbNullString's as values, hoping
'that this would cure the problem - It did not.
If Me.Controls(vName & vNum) = _
vbNullString Then Me.Controls _
(vName & vNum) = 0

If Me.Controls(vName & vNum + 1) = _
vbNullString Then Me.Controls _
(vName & vNum + 1) = 0

'These are from a different workbook. I am getting there values ok.
If C_8 = vbNullString Then C_8 = 0
If C_11 = vbNullString Then C_11 = 0

'This is the formula to get a value into the adjacent TextBox and
'the line that debug highlighted.
Me.Controls(vName & vNum + 1) = _
(Me.Controls(vName & vNum) * _
CDbl(C_8)) + CDbl(C_11)

This is where I am changing the value 0 back to vbNullString
If Me.Controls(vName & vNum + 1) = 0 Then _
Me.Controls(vName & vNum + 1) = vbNullString
If Me.Controls(vName & vNum) = 0 Then _
Me.Controls(vName & vNum) = vbNullString
If C_8 = 0 Then C_8 = vbNullString
If C_11 = 0 Then C_11 = vbNullString

______________________________________________________________

Anyone have any ideas as to what went wrong with this code and how to
fix it?

Any help would be appreciated.

-Minitman
 
D

Dave Peterson

I'd add a check to see if the value of me.controls(vname & vnum) was numeric
first:

if isnumeric(me.controls(vname & vnum).value) then
Me.Controls(vName & vNum + 1).value = _
(cdbl(Me.Controls(vName & vNum).value) * _
CDbl(C_8)) + CDbl(C_11)
else
'what should happen?
end if
 
M

Minitman

Hey Dave,

Thanks for the reply.


Sorry about not getting back to you sooner. I had a major meltdown
over here! Telephones, Internet, LAN & KVM switch went down! Which
means all of my computers were down

DSL modem died, router died, hub died and of course the computer
hooked to the KVM switch appears dead as well (it was my mail server).
Picked up a DSL wireless gateway modem with 4 port hub. This got the
Vonage modems working after I got the Internet connection up. Could
not get the wireless router to work so I am limping along until I get
either a new hub or enough wireless cards for my 5 computers to give
them all full access to each other and the Internet.

After I was able to access my Excel application earlier today, I
noticed that when I start to add a value to a certain TextBox that I
appear to get stuck in a loop!!!

What's the best way to see what is happening when vba is running?

I have tried to use MsgBoxes, but they can get confusing if there are
too many of them (as in a loop). I don't understand how to use the
intermediate window and know of any other tools that will help
diagnose this problem.

Any help would be greatly appreciated. And if you can't help, that's
ok, I understand. Even so, I appreciate your taking the time to look
at this problem.

-Minitman
 
D

Dave Peterson

I'd put a breakpoint in the code and then step through the code using F8.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top