ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Adding IF statement to custom function (VBA)? (https://www.excelbanter.com/excel-programming/374909-adding-if-statement-custom-function-vba.html)

[email protected]

Adding IF statement to custom function (VBA)?
 
Hey guys,

I dont know much about VBA and programming, so this may be a dumb
question:)

I have a custom function I created here in VBA and I need to add some
conditionality to it. Here is the part of the code I would like to
manipulate:

**************
Public Function NextInspection(SinceLastInspection, SinceLastM3,
ObjectClass, ObjectCat) As String

Dim KM As Variant
Dim CycleNumber As Integer

KM = SinceLastM3 - SinceLastInspection + 6000

CycleNumber = Round(KM / 6000, 0)

If ObjectClass = "TROL" Then

Select Case CycleNumber

Case 1 To 8: NextInspection = "MINOR-T"
Case 9: NextInspection = "MAJOR3-T"
Case Else: NextInspection = "INVALID NEST-CHECK DETAIL"

End Select
.....
******************

What I would like to tell this to do is, for every time that
CycleNumber exceeds 9, subtract 9 (eg.9 is the max, but may potentially
exceed 9, so if it were to read 10 i would like it to instead read '1'
and return "MINOR-T")

Ive tried adding it in with my own knowledge, but I dont know how to do
it and keep getting errors. Any help is appreciated!


Dave Peterson

Adding IF statement to custom function (VBA)?
 
Maybe...

Select Case CycleNumber mod 9

Case 1 To 8: NextInspection = "MINOR-T"
Case 0: NextInspection = "MAJOR3-T"
Case Else: NextInspection = "INVALID NEST-CHECK DETAIL"

End Select

wrote:

Hey guys,

I dont know much about VBA and programming, so this may be a dumb
question:)

I have a custom function I created here in VBA and I need to add some
conditionality to it. Here is the part of the code I would like to
manipulate:

**************
Public Function NextInspection(SinceLastInspection, SinceLastM3,
ObjectClass, ObjectCat) As String

Dim KM As Variant
Dim CycleNumber As Integer

KM = SinceLastM3 - SinceLastInspection + 6000

CycleNumber = Round(KM / 6000, 0)

If ObjectClass = "TROL" Then

Select Case CycleNumber

Case 1 To 8: NextInspection = "MINOR-T"
Case 9: NextInspection = "MAJOR3-T"
Case Else: NextInspection = "INVALID NEST-CHECK DETAIL"

End Select
....
******************

What I would like to tell this to do is, for every time that
CycleNumber exceeds 9, subtract 9 (eg.9 is the max, but may potentially
exceed 9, so if it were to read 10 i would like it to instead read '1'
and return "MINOR-T")

Ive tried adding it in with my own knowledge, but I dont know how to do
it and keep getting errors. Any help is appreciated!


--

Dave Peterson

[email protected]

Adding IF statement to custom function (VBA)?
 
Great idea! But it didn't do anything:)

For a perhaps better idea of what Im trying to do, here is one of my
attempts with zero knowledge of VBA (sheepish)
.....
If ObjectClass = "TROL" Then

If CycleNumber 9 Then
CycleNumber -9
Else: CycleNumber
End If

Select Case CycleNumber

Case 1 To 8: NextInspection = "MINOR-T"
Case 9: NextInspection = "MAJOR3-T"
Case Else: NextInspection = "INVALID NEST-CHECK DETAIL"
End Select

Dave Peterson wrote:
Maybe...

Select Case CycleNumber mod 9

Case 1 To 8: NextInspection = "MINOR-T"
Case 0: NextInspection = "MAJOR3-T"
Case Else: NextInspection = "INVALID NEST-CHECK DETAIL"

End Select

wrote:

Hey guys,

I dont know much about VBA and programming, so this may be a dumb
question:)

I have a custom function I created here in VBA and I need to add some
conditionality to it. Here is the part of the code I would like to
manipulate:

**************
Public Function NextInspection(SinceLastInspection, SinceLastM3,
ObjectClass, ObjectCat) As String

Dim KM As Variant
Dim CycleNumber As Integer

KM = SinceLastM3 - SinceLastInspection + 6000

CycleNumber = Round(KM / 6000, 0)

If ObjectClass = "TROL" Then

Select Case CycleNumber

Case 1 To 8: NextInspection = "MINOR-T"
Case 9: NextInspection = "MAJOR3-T"
Case Else: NextInspection = "INVALID NEST-CHECK DETAIL"

End Select
....
******************

What I would like to tell this to do is, for every time that
CycleNumber exceeds 9, subtract 9 (eg.9 is the max, but may potentially
exceed 9, so if it were to read 10 i would like it to instead read '1'
and return "MINOR-T")

Ive tried adding it in with my own knowledge, but I dont know how to do
it and keep getting errors. Any help is appreciated!


--

Dave Peterson



Dave Peterson

Adding IF statement to custom function (VBA)?
 
What was cycleNumber when "it didn't do anything"?

What happened to NextInspection?

wrote:

Great idea! But it didn't do anything:)

For a perhaps better idea of what Im trying to do, here is one of my
attempts with zero knowledge of VBA (sheepish)
....
If ObjectClass = "TROL" Then

If CycleNumber 9 Then
CycleNumber -9
Else: CycleNumber
End If

Select Case CycleNumber

Case 1 To 8: NextInspection = "MINOR-T"
Case 9: NextInspection = "MAJOR3-T"
Case Else: NextInspection = "INVALID NEST-CHECK DETAIL"
End Select

Dave Peterson wrote:
Maybe...

Select Case CycleNumber mod 9

Case 1 To 8: NextInspection = "MINOR-T"
Case 0: NextInspection = "MAJOR3-T"
Case Else: NextInspection = "INVALID NEST-CHECK DETAIL"

End Select

wrote:

Hey guys,

I dont know much about VBA and programming, so this may be a dumb
question:)

I have a custom function I created here in VBA and I need to add some
conditionality to it. Here is the part of the code I would like to
manipulate:

**************
Public Function NextInspection(SinceLastInspection, SinceLastM3,
ObjectClass, ObjectCat) As String

Dim KM As Variant
Dim CycleNumber As Integer

KM = SinceLastM3 - SinceLastInspection + 6000

CycleNumber = Round(KM / 6000, 0)

If ObjectClass = "TROL" Then

Select Case CycleNumber

Case 1 To 8: NextInspection = "MINOR-T"
Case 9: NextInspection = "MAJOR3-T"
Case Else: NextInspection = "INVALID NEST-CHECK DETAIL"

End Select
....
******************

What I would like to tell this to do is, for every time that
CycleNumber exceeds 9, subtract 9 (eg.9 is the max, but may potentially
exceed 9, so if it were to read 10 i would like it to instead read '1'
and return "MINOR-T")

Ive tried adding it in with my own knowledge, but I dont know how to do
it and keep getting errors. Any help is appreciated!


--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 09:42 AM.

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