Excel crashes on simple procedure

  • Thread starter Daves_Solutions
  • Start date
D

Daves_Solutions

Everytime I run the following procedure excel crashes.
Private Sub cmbDesc_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 9 Then
NewInventory.Cells(9, 4) = cmbDesc.Text
cmbDesc.Visible = False
NewInventory.Cells(9, 5).Select
End If
End Sub
I have several other procedures that are similar that run fine. All I am
trying to do is send the focus to the next cell in an invoice that I created
from an embedded combo box.

Any suggestions or help would be greatly appreciated. Thank you in advance
for your time.
Dave
 
M

Mat P:son

Well, it seems to work just fine on my box (but that's what you'd expect,
isn't it?)

Have you tried breaking into the VBA code and see exactly when the crash
occurs (put a breakpoint on e.g. the first line after the If statement)? Or
don't you even get that far?

/MP
 
D

Daves_Solutions

Mat P:son said:
Well, it seems to work just fine on my box (but that's what you'd expect,
isn't it?)

Have you tried breaking into the VBA code and see exactly when the crash
occurs (put a breakpoint on e.g. the first line after the If statement)? Or
don't you even get that far?

/MP
I have stepped through the code and it works fine until the end sub. As soon
as it leaves the sub and the focus return back to the worksheet excel
crashes. I have added a text box and sent the focus there and it works fine.
It even works fine once in ten or twenty times. Who knew? Any other ideas??
 
M

Mat P:son

Sorry Dave, I don't really have any useful suggestions. Hope you'll figure it
out anyway...

The only (very far-fetched and unlikely) leads I can think of is if you
somehow refer to objects that are somehow going out of scope, or perhaps if
they don't like to receive the focus for some strange reason. But I can't
really figure out how that's supposed to fit the picture in your case...

Good luck
/MP
 
M

Mark Lincoln

I've had problems in the past with Excel and focus, sometimes to the
point of causing me to fundamentally restructure my code.

Here's a wild guess. Try swapping these two lines:

cmbDesc.Visible = False
NewInventory.Cells(9, 5).Select

So that you select the cell first, then hide the combo box. Then cross
your fingers and run the code. If that doesn't work, try commenting
out the "cmbDesc.Visible = False" line and see if the crashing goes
away.
 
D

Daves_Solutions

Daves_Solutions said:
Everytime I run the following procedure excel crashes.
Private Sub cmbDesc_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 9 Then
NewInventory.Cells(9, 4) = cmbDesc.Text
cmbDesc.Visible = False
NewInventory.Cells(9, 5).Select
End If
End Sub
I have several other procedures that are similar that run fine. All I am
trying to do is send the focus to the next cell in an invoice that I created
from an embedded combo box.

Any suggestions or help would be greatly appreciated. Thank you in advance
for your time.
Dave

I think that for some reason the computer that is to run this has a problem.
I can run this code on three other computers and like you say it worlks fine
for you??
Thanks for your time and help.
dave
 
D

Daves_Solutions

Mark Lincoln said:
I've had problems in the past with Excel and focus, sometimes to the
point of causing me to fundamentally restructure my code.

Here's a wild guess. Try swapping these two lines:

cmbDesc.Visible = False
NewInventory.Cells(9, 5).Select

So that you select the cell first, then hide the combo box. Then cross
your fingers and run the code. If that doesn't work, try commenting
out the "cmbDesc.Visible = False" line and see if the crashing goes
away.



Thanks it works on my computer I will try tomorrow on the computer that is supposed to run this program. It runs fine on three of my computers but not the one I need it too...
thanks for your time and help.
Dave
 

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