Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 21
Default 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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 66
Default 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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 66
Default 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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 21
Default 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
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
IF statement inside a SUMIF statement.... or alternative method Sungibungi Excel Worksheet Functions 3 December 4th 09 06:22 PM
Reconcile Bank statement & Credit card statement & accounting data Bklynhyc Excel Worksheet Functions 0 October 7th 09 09:07 PM
Embedding an OR statement in an IF statement efficiently Chatnoir11 Excel Discussion (Misc queries) 4 February 2nd 09 08:12 PM
Can an If statement answer an If statement? M.A.Tyler Excel Discussion (Misc queries) 2 June 24th 07 04:14 AM
appending and IF statement to an existing IF statement spence Excel Worksheet Functions 1 February 28th 06 11:00 PM


All times are GMT +1. The time now is 04:13 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"