Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have macro that contains among other thing o for loop. I now get error next
without for. I cannot see what the problem is. My code: For l = 1 To i - 1 If rng6.Offset(l, 0) < 0 Then If rng4.Offset(l, 0) = 0 Then Range(rng1.Offset(l, k + 3).Address) = rng3.Offset(l, 0) * Range(rng1.Offset(l, k + 1).Address) Else: Range(rng1.Offset(l, k + 3).Address) = rng4.Offset(l, 0) * Range(rng1.Offset(l, k + 1).Address) End If Else: Range(rng1.Offset(l, k + 3).Address) = rng3.Offset(l, 0) * Range(rng1.Offset(l, k + 1).Address) End If dblSummaSecurityContributionToBench = dblSummaSecurityContributionToBench + Range(rng1.Offset(l, k + 3).Address) 'kollar om det finns skillnad i local return mellan bench och portfölj If rng4.Offset(l, 0) < 0 And rng3.Offset(l, 0) < 0 And rng4.Offset(l, 0) < rng3.Offset(l, 0) Then dblLocalReturnDiff = rng4.Offset(l, 0) - rng3.Offset(l, 0) If Abs(dblLocalReutrnDiff) dblErrorMarginal Then Err.Raise 600 Else: End If Next as you can see there are several if´s in the for-loop, but that has never been a problem before. Please help me if you know what is wrong! Thank you! |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You are missing an End If.
Better laying out of the code makes it clearer For l = 1 To i - 1 If rng6.Offset(l, 0) < 0 Then If rng4.Offset(l, 0) = 0 Then Range(rng1.Offset(l, k + 3).Address) = rng3.Offset(l, 0) * _ Range(rng1.Offset(l, k + 1).Address) Else Range(rng1.Offset(l, k + 3).Address) = rng4.Offset(l, 0) * _ Range(rng1.Offset(l, k + 1).Address) End If Else Range(rng1.Offset(l, k + 3).Address) = rng3.Offset(l, 0) * _ Range(rng1.Offset(l, k + 1).Address) End If dblSummaSecurityContributionToBench = _ dblSummaSecurityContributionToBench + _ Range(rng1.Offset(l, k + 3).Address) 'kollar om det finns skillnad i local return mellan bench och portfölj If rng4.Offset(l, 0) < 0 And rng3.Offset(l, 0) < 0 And _ rng4.Offset(l, 0) < rng3.Offset(l, 0) Then dblLocalReturnDiff = rng4.Offset(l, 0) - rng3.Offset(l, 0) If Abs(dblLocalReutrnDiff) dblErrorMarginal Then Err.Raise 600 End If End If Next -- HTH Bob Phillips (replace somewhere in email address with gmail if mailing direct) "Sally Mae" wrote in message ... I have macro that contains among other thing o for loop. I now get error next without for. I cannot see what the problem is. My code: For l = 1 To i - 1 If rng6.Offset(l, 0) < 0 Then If rng4.Offset(l, 0) = 0 Then Range(rng1.Offset(l, k + 3).Address) = rng3.Offset(l, 0) * Range(rng1.Offset(l, k + 1).Address) Else: Range(rng1.Offset(l, k + 3).Address) = rng4.Offset(l, 0) * Range(rng1.Offset(l, k + 1).Address) End If Else: Range(rng1.Offset(l, k + 3).Address) = rng3.Offset(l, 0) * Range(rng1.Offset(l, k + 1).Address) End If dblSummaSecurityContributionToBench = dblSummaSecurityContributionToBench + Range(rng1.Offset(l, k + 3).Address) 'kollar om det finns skillnad i local return mellan bench och portfölj If rng4.Offset(l, 0) < 0 And rng3.Offset(l, 0) < 0 And rng4.Offset(l, 0) < rng3.Offset(l, 0) Then dblLocalReturnDiff = rng4.Offset(l, 0) - rng3.Offset(l, 0) If Abs(dblLocalReutrnDiff) dblErrorMarginal Then Err.Raise 600 Else: End If Next as you can see there are several if´s in the for-loop, but that has never been a problem before. Please help me if you know what is wrong! Thank you! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|