ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   why does the execution jump to another procedure? (https://www.excelbanter.com/excel-programming/428459-why-does-execution-jump-another-procedure.html)

Harold Good

why does the execution jump to another procedure?
 
Hi, I have the following code. As I push F8 to execute manually, after the Insert row, it jumps to another procedure, skips around some of those lines of code, then comes back to execute the last line?

I have noticed this pattern in some other spreadsheet VBA as well.

What am I doing wrong? Thanks, Harold


Private Sub InsertRow()
Dim myRow As Long

myRow = ActiveCell.Row
Do Until Cells(myRow, 2) < Cells(myRow + 1, 2)
myRow = myRow + 1
Loop
Rows(myRow).Insert
Rows(ActiveCell.Row).Select

End Sub

slarbie

why does the execution jump to another procedure?
 

In the VBA project window, double click on the worksheet object to see if
there is a "worksheet_change" sub. Every time you make a change to the
worksheet this will execute. In the code below, the insert action qualifies
as a worksheet change event.

If you can determine that the change event code is not necessary to current
intended functioning of the file, then you can just delete it. Otherwise,
you'll want to be sure that any new routines you add will work with it in a
predictable way.

"Harold Good" wrote:

Hi, I have the following code. As I push F8 to execute manually, after the Insert row, it jumps to another procedure, skips around some of those lines of code, then comes back to execute the last line?

I have noticed this pattern in some other spreadsheet VBA as well.

What am I doing wrong? Thanks, Harold


Private Sub InsertRow()
Dim myRow As Long

myRow = ActiveCell.Row
Do Until Cells(myRow, 2) < Cells(myRow + 1, 2)
myRow = myRow + 1
Loop
Rows(myRow).Insert
Rows(ActiveCell.Row).Select

End Sub


Patrick Molloy

why does the execution jump to another procedure?
 
if there is a sheet change event, you can disable it using using the
Application.EnableEvents method ..



Private Sub InsertRow()
Dim myRow As Long

Application.EnableEvents = False

myRow = ActiveCell.Row
Do Until Cells(myRow, 2) < Cells(myRow + 1, 2)
myRow = myRow + 1
Loop
Rows(myRow).Insert
Rows(ActiveCell.Row).Select

Application.EnableEvents = True

End Sub




"slarbie" wrote in message
...

In the VBA project window, double click on the worksheet object to see if
there is a "worksheet_change" sub. Every time you make a change to the
worksheet this will execute. In the code below, the insert action
qualifies
as a worksheet change event.

If you can determine that the change event code is not necessary to
current
intended functioning of the file, then you can just delete it. Otherwise,
you'll want to be sure that any new routines you add will work with it in
a
predictable way.

"Harold Good" wrote:

Hi, I have the following code. As I push F8 to execute manually, after
the Insert row, it jumps to another procedure, skips around some of those
lines of code, then comes back to execute the last line?

I have noticed this pattern in some other spreadsheet VBA as well.

What am I doing wrong? Thanks, Harold


Private Sub InsertRow()
Dim myRow As Long

myRow = ActiveCell.Row
Do Until Cells(myRow, 2) < Cells(myRow + 1, 2)
myRow = myRow + 1
Loop
Rows(myRow).Insert
Rows(ActiveCell.Row).Select

End Sub



Harold Good

why does the execution jump to another procedure?
 
Thank you very much, I had no idea why this was happening on some of my
spreadsheets!
Harold


"slarbie" wrote in message
...

In the VBA project window, double click on the worksheet object to see if
there is a "worksheet_change" sub. Every time you make a change to the
worksheet this will execute. In the code below, the insert action
qualifies
as a worksheet change event.

If you can determine that the change event code is not necessary to
current
intended functioning of the file, then you can just delete it. Otherwise,
you'll want to be sure that any new routines you add will work with it in
a
predictable way.

"Harold Good" wrote:

Hi, I have the following code. As I push F8 to execute manually, after
the Insert row, it jumps to another procedure, skips around some of those
lines of code, then comes back to execute the last line?

I have noticed this pattern in some other spreadsheet VBA as well.

What am I doing wrong? Thanks, Harold


Private Sub InsertRow()
Dim myRow As Long

myRow = ActiveCell.Row
Do Until Cells(myRow, 2) < Cells(myRow + 1, 2)
myRow = myRow + 1
Loop
Rows(myRow).Insert
Rows(ActiveCell.Row).Select

End Sub




Harold Good

why does the execution jump to another procedure?
 
Thank you, very helpful!
Harold


"Patrick Molloy" wrote in message
...
if there is a sheet change event, you can disable it using using the
Application.EnableEvents method ..



Private Sub InsertRow()
Dim myRow As Long

Application.EnableEvents = False

myRow = ActiveCell.Row
Do Until Cells(myRow, 2) < Cells(myRow + 1, 2)
myRow = myRow + 1
Loop
Rows(myRow).Insert
Rows(ActiveCell.Row).Select

Application.EnableEvents = True

End Sub




"slarbie" wrote in message
...

In the VBA project window, double click on the worksheet object to see if
there is a "worksheet_change" sub. Every time you make a change to the
worksheet this will execute. In the code below, the insert action
qualifies
as a worksheet change event.

If you can determine that the change event code is not necessary to
current
intended functioning of the file, then you can just delete it.
Otherwise,
you'll want to be sure that any new routines you add will work with it in
a
predictable way.

"Harold Good" wrote:

Hi, I have the following code. As I push F8 to execute manually, after
the Insert row, it jumps to another procedure, skips around some of
those lines of code, then comes back to execute the last line?

I have noticed this pattern in some other spreadsheet VBA as well.

What am I doing wrong? Thanks, Harold


Private Sub InsertRow()
Dim myRow As Long

myRow = ActiveCell.Row
Do Until Cells(myRow, 2) < Cells(myRow + 1, 2)
myRow = myRow + 1
Loop
Rows(myRow).Insert
Rows(ActiveCell.Row).Select

End Sub






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

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