Hi all,
I have the following function,
Code
Function tsi7(H, TD, LC, HK, HO, E1, NG1, PT1, E2, NG2, PT2, CC1, CC2, TOL, L, DC, INS, P, LR, TSO, WL, PR)
I dont want to waste anyones time here but I would like to format the code as efficiently as possible because I have about 50 other functions that are very similar to it and my workbook is starting to get large. Which do you guys think is better? does anyone have a better way?
Thanks.
option 1
Code
Select Case L
Case "H"
tsi7 = H - INS
Case "U"
tsi7 = LC - INS
Case "HK"
tsi7 = HK - INS
Case "HO"
tsi7 = HO - INS
Case "E1"
tsi7 = E1 - INS
Case "NG1"
tsi7 = NG1 - INS
Case "PT1"
tsi7 = PT1 - INS
Case "E2"
tsi7 = E2 - INS
Case "NG2"
tsi7 = NG2 - INS
Case "PT2"
tsi7 = PT2 - INS
Case "D", "M", "Y"
tsi7 = (Year(TD) - Year(DC)) * 12 + Month(TD) - Month(DC)
Case Else
tsi7 = L
End Select
Select Case TOL
Case "OC", "N/A", "PI"
tsi7 = TOL
End Select
Display More
option 2
Code
If L = "H" Then
tsi7 = H - INS
ElseIf L = "U" Then
tsi7 = LC - INS
ElseIf L = "HK" Then
tsi7 = HK - INS
ElseIf L = "HO" Then
tsi7 = HO - INS
ElseIf L = "E1" Then
tsi7 = E1 - INS
ElseIf L = "NG1" Then
tsi7 = NG1 - INS
ElseIf L = "PT1" Then
tsi7 = PT1 - INS
ElseIf L = "E2" Then
tsi7 = E2 - INS
ElseIf L = "NG2" Then
tsi7 = NG2 - INS
ElseIf L = "PT2" Then
tsi7 = PT2 - INS
ElseIf L = "D" Or L = "M" Or L = "Y" Then
tsi7 = (Year(TD) - Year(DC)) * 12 + Month(TD) - Month(DC)
ElseIf TOL = "OC" Or TOL = "N/A" Or TOL = "PI" Then
tsi7 = TOL
Else
tsi7 = L
End If
Display More
option 3
Code
If L = "H" Then tsi7 = H - INS
If L = "U" Then tsi7 = LC - INS
If L = "HK" Then tsi7 = HK - INS
If L = "HO" Then tsi7 = HO - INS
If L = "E1" Then tsi7 = E1 - INS
If L = "NG1" Then tsi7 = NG1 - INS
If L = "PT1" Then tsi7 = PT1 - INS
If L = "E2" Then tsi7 = E2 - INS
If L = "NG2" Then tsi7 = NG2 - INS
If L = "PT2" Then tsi7 = PT2 - INS
If L = "D" Then tsi7 = (Year(TD) - Year(DC)) * 12 + Month(TD) - Month(DC)
If L = "M" Then tsi7 = (Year(TD) - Year(DC)) * 12 + Month(TD) - Month(DC)
If L = "Y" Then tsi7 = (Year(TD) - Year(DC)) * 12 + Month(TD) - Month(DC)
If L = "" Or L = "ALF" Or L = "CHK" Or L = "IPF" Or L = "PF" Then tsi7 = L
If TOL = "OC" Or TOL = "N/A" Or TOL = "PI" Then tsi7 = TOL
Display More