ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   not sure what's happening (https://www.excelbanter.com/excel-programming/323799-not-sure-whats-happening.html)

Alex H[_3_]

not sure what's happening
 
IOamworking thru some learningmaterial and have the following code:

Sub Monthupdate()
m = Sheets("command").Cells(3, 1)
If (m = "January") Then
Sheets("Command").Cells(3, 1) = February
GoTo lab1:
End If

At this point the following message is displayed:-

<<...OLE_Obj...

It appears not to like the GoTo lab1:

I can't find any reference to lab1: before this point in the module, will
the label need defining? If so how is this done in VB?

If you have any suggestions they would be most appreciated.







Trevor Shuttleworth

not sure what's happening
 
Alex

lose the ":" at the end of lab1 before the End If.

You need the colon on the end of the actual label that you want to jump to

Sub Monthupdate()
m = Sheets("command").Cells(3, 1)
If (m = "January") Then
Sheets("Command").Cells(3, 1) = February
GoTo lab1
End If
'
'
'
lab1:


Regards

Trevor


"Alex H" wrote in message
...
IOamworking thru some learningmaterial and have the following code:

Sub Monthupdate()
m = Sheets("command").Cells(3, 1)
If (m = "January") Then
Sheets("Command").Cells(3, 1) = February
GoTo lab1:
End If

At this point the following message is displayed:-

<<...OLE_Obj...

It appears not to like the GoTo lab1:

I can't find any reference to lab1: before this point in the module, will
the label need defining? If so how is this done in VB?

If you have any suggestions they would be most appreciated.









Bob Phillips[_6_]

not sure what's happening
 
Labels are usually used in VBA as an escape exit in error conditions, and
usually placed near the end of a subroutine, where tidy-up code is entered.

To input a label, just enter

lab1:

on a line all by itself.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Alex H" wrote in message
...
IOamworking thru some learningmaterial and have the following code:

Sub Monthupdate()
m = Sheets("command").Cells(3, 1)
If (m = "January") Then
Sheets("Command").Cells(3, 1) = February
GoTo lab1:
End If

At this point the following message is displayed:-

<<...OLE_Obj...

It appears not to like the GoTo lab1:

I can't find any reference to lab1: before this point in the module, will
the label need defining? If so how is this done in VB?

If you have any suggestions they would be most appreciated.









Robin Hammond[_2_]

not sure what's happening
 
Alex,

You define a lable simply by typing in a name followed by a colon.

e.g.

Sub WithLabels()
StartProc: 'this is a label
End Sub

Looking at your code as it stands there is no label, so I have rewritten a
bit to show what the original author might have intended, and added a better
structure below avoiding the Goto. It's useful sometimes, but not a great
programming construct.

Sub Monthupdate()
m = Sheets("command").Cells(3, 1)
If (m = "January") Then
Sheets("Command").Cells(3, 1) = February
GoTo lab1:
End If
msgbox "The cell does not contain January"
lab1:
End Sub

The better version

Sub Monthupdate()
m = Sheets("command").Cells(3, 1)
If (m = "January") Then
Sheets("Command").Cells(3, 1) = February
else
msgbox "The cell does not contain January"
End If
End Sub

HTH,

Robin Hammond
www.enhanceddatasystems.com

"Alex H" wrote in message
...
IOamworking thru some learningmaterial and have the following code:

Sub Monthupdate()
m = Sheets("command").Cells(3, 1)
If (m = "January") Then
Sheets("Command").Cells(3, 1) = February
GoTo lab1:
End If

At this point the following message is displayed:-

<<...OLE_Obj...

It appears not to like the GoTo lab1:

I can't find any reference to lab1: before this point in the module, will
the label need defining? If so how is this done in VB?

If you have any suggestions they would be most appreciated.










All times are GMT +1. The time now is 11:24 AM.

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