Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
if statement
Could you help me get these conditions in VBA code?
':: first condition IF A3 < A5 AND A4 A5, THEN A6 = A4 - A5 AND A7 = LONG. IF A3 < A5 and A4 < A5 THEN A6 = A4 - A5 AND A7 = LOSS IF A3 A5 AND A4 < A5 THEN A7 = NOT LONG ':: second condition IF A7 = null OR LOSS OR NOT LONG THEN first condition for next column, B IF A7 = LONG THEN IF B4 B5, THEN B6 = B4-A5 AND A6 = 0 AND B7 = LONG. IF B4 < B5 THEN B6 = B4-A5 AND A6 = 0 AND B7 = CLOSE LONG. ':: This loops until the last nonblank value in row 1. |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
if statement
I didn't test this extensively, and I'm not sure I completely understand what you are trying to accomplish, but this should at the very least get you on the right track.
Sub mysub() Dim DoFirstCon As Boolean Dim i As Integer i = 1 DoFirstCon = True Do Until IsEmpty(Cells(3, i)) If DoFirstCon Then FirstCondition (i) If Cells(7, i).Value = "LONG" Then 'don't do firstcondition on column i+1 DoFirstCon = False Cells(6, i + 1).Value = Cells(4, i + 1).Value - Cells(5, i).Value Cells(6, i).Value = 0 If Cells(4, i + 1).Value Cells(5, 1 + 1).Value Then Cells(7, i + 1).Value = "LONG" Else: Cells(7, i + 1).Value = "CLOSE" End If End If i = i + 1 Loop End Sub Function FirstCondition(Count As Integer) Dim dRow3 As Double Dim dRow4 As Double Dim dRow5 As Double dRow3 = Cells(3, Count).Value dRow4 = Cells(4, Count).Value dRow5 = Cells(5, Count).Value MsgBox "loop number " & Count If dRow3 dRow5 And dRow4 < dRow5 Then Cells(7, Count).Value = "NOT LONG" Else Cells(6, Count).Value = dRow4 - dRow5 If dRow3 < dRow5 And dRow4 dRow5 Then Cells(7, Count).Value = "LONG" ElseIf dRow3 < dRow5 And dRow4 < dRow5 Then Cells(7, Count).Value = "LOSS" Else: MsgBox "row 3 row 5 and row 4 row 5" End If End If End Function "alldreams" wrote: Could you help me get these conditions in VBA code? ':: first condition IF A3 < A5 AND A4 A5, THEN A6 = A4 - A5 AND A7 = LONG. IF A3 < A5 and A4 < A5 THEN A6 = A4 - A5 AND A7 = LOSS IF A3 A5 AND A4 < A5 THEN A7 = NOT LONG ':: second condition IF A7 = null OR LOSS OR NOT LONG THEN first condition for next column, B IF A7 = LONG THEN IF B4 B5, THEN B6 = B4-A5 AND A6 = 0 AND B7 = LONG. IF B4 < B5 THEN B6 = B4-A5 AND A6 = 0 AND B7 = CLOSE LONG. ':: This loops until the last nonblank value in row 1. |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
if statement
I forgot to reset DoFirstCon to True after the first Endif.
"Marcotte A" wrote: I didn't test this extensively, and I'm not sure I completely understand what you are trying to accomplish, but this should at the very least get you on the right track. Sub mysub() Dim DoFirstCon As Boolean Dim i As Integer i = 1 DoFirstCon = True Do Until IsEmpty(Cells(3, i)) If DoFirstCon Then FirstCondition (i) If Cells(7, i).Value = "LONG" Then 'don't do firstcondition on column i+1 DoFirstCon = False Cells(6, i + 1).Value = Cells(4, i + 1).Value - Cells(5, i).Value Cells(6, i).Value = 0 If Cells(4, i + 1).Value Cells(5, 1 + 1).Value Then Cells(7, i + 1).Value = "LONG" Else: Cells(7, i + 1).Value = "CLOSE" End If End If i = i + 1 Loop End Sub Function FirstCondition(Count As Integer) Dim dRow3 As Double Dim dRow4 As Double Dim dRow5 As Double dRow3 = Cells(3, Count).Value dRow4 = Cells(4, Count).Value dRow5 = Cells(5, Count).Value MsgBox "loop number " & Count If dRow3 dRow5 And dRow4 < dRow5 Then Cells(7, Count).Value = "NOT LONG" Else Cells(6, Count).Value = dRow4 - dRow5 If dRow3 < dRow5 And dRow4 dRow5 Then Cells(7, Count).Value = "LONG" ElseIf dRow3 < dRow5 And dRow4 < dRow5 Then Cells(7, Count).Value = "LOSS" Else: MsgBox "row 3 row 5 and row 4 row 5" End If End If End Function "alldreams" wrote: Could you help me get these conditions in VBA code? ':: first condition IF A3 < A5 AND A4 A5, THEN A6 = A4 - A5 AND A7 = LONG. IF A3 < A5 and A4 < A5 THEN A6 = A4 - A5 AND A7 = LOSS IF A3 A5 AND A4 < A5 THEN A7 = NOT LONG ':: second condition IF A7 = null OR LOSS OR NOT LONG THEN first condition for next column, B IF A7 = LONG THEN IF B4 B5, THEN B6 = B4-A5 AND A6 = 0 AND B7 = LONG. IF B4 < B5 THEN B6 = B4-A5 AND A6 = 0 AND B7 = CLOSE LONG. ':: This loops until the last nonblank value in row 1. |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
if statement
Thank you !
Cheers, JJ -----Original Message----- I forgot to reset DoFirstCon to True after the first Endif. "Marcotte A" wrote: I didn't test this extensively, and I'm not sure I completely understand what you are trying to accomplish, but this should at the very least get you on the right track. Sub mysub() Dim DoFirstCon As Boolean Dim i As Integer i = 1 DoFirstCon = True Do Until IsEmpty(Cells(3, i)) If DoFirstCon Then FirstCondition (i) If Cells(7, i).Value = "LONG" Then 'don't do firstcondition on column i+1 DoFirstCon = False Cells(6, i + 1).Value = Cells(4, i + 1).Value - Cells(5, i).Value Cells(6, i).Value = 0 If Cells(4, i + 1).Value Cells(5, 1 + 1).Value Then Cells(7, i + 1).Value = "LONG" Else: Cells(7, i + 1).Value = "CLOSE" End If End If i = i + 1 Loop End Sub Function FirstCondition(Count As Integer) Dim dRow3 As Double Dim dRow4 As Double Dim dRow5 As Double dRow3 = Cells(3, Count).Value dRow4 = Cells(4, Count).Value dRow5 = Cells(5, Count).Value MsgBox "loop number " & Count If dRow3 dRow5 And dRow4 < dRow5 Then Cells(7, Count).Value = "NOT LONG" Else Cells(6, Count).Value = dRow4 - dRow5 If dRow3 < dRow5 And dRow4 dRow5 Then Cells(7, Count).Value = "LONG" ElseIf dRow3 < dRow5 And dRow4 < dRow5 Then Cells(7, Count).Value = "LOSS" Else: MsgBox "row 3 row 5 and row 4 row 5" End If End If End Function "alldreams" wrote: Could you help me get these conditions in VBA code? ':: first condition IF A3 < A5 AND A4 A5, THEN A6 = A4 - A5 AND A7 = LONG. IF A3 < A5 and A4 < A5 THEN A6 = A4 - A5 AND A7 = LOSS IF A3 A5 AND A4 < A5 THEN A7 = NOT LONG ':: second condition IF A7 = null OR LOSS OR NOT LONG THEN first condition for next column, B IF A7 = LONG THEN IF B4 B5, THEN B6 = B4-A5 AND A6 = 0 AND B7 = LONG. IF B4 < B5 THEN B6 = B4-A5 AND A6 = 0 AND B7 = CLOSE LONG. ':: This loops until the last nonblank value in row 1. . |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
IF statement inside a SUMIF statement.... or alternative method | Excel Worksheet Functions | |||
Reconcile Bank statement & Credit card statement & accounting data | Excel Worksheet Functions | |||
Embedding an OR statement in an IF statement efficiently | Excel Discussion (Misc queries) | |||
Can an If statement answer an If statement? | Excel Discussion (Misc queries) | |||
appending and IF statement to an existing IF statement | Excel Worksheet Functions |