Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm learning VBA and have got stuck!
I have a spreadsheet with 7 columns of information. I want to work down the spreadsheet, testing 4 criteria. The critera look at the columns and test to see if they apply. I can use the And function to return a true or false value. I want to use VBA to say that if a particular condition applies then put 'text1' in the cell to the right, if not test the next condition and if that is true then put 'text2' in the cell to the right, if not test the next condition. I've recorded the macro and am using an activecell.formula = approach. I just can't get it to run in an Else If way. The first test runs but the second doesn't. I can't put an if statement before the activecell.formula. Has anyone got any ideas on how to overcome this? Much appreciated Corinne R |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thank you Don
I have managed to get the program to behave in the way I want and realised where I was going wrong. But there may be a better way to achieve this and I'd love to learn. It's quite longwinded! Here's my code: Dim StudentStatus As String ActiveCell.FormulaR1C1 = "=AND(RC[-4]=6,RC[-2]=""LW-118"",RC[-3]=21)" If ActiveCell.Value = "True" Then StudentStatus = "Prog + NCE" ActiveCell.Value = StudentStatus ElseIf ActiveCell.Value = "False" Then ActiveCell.FormulaR1C1 = "=AND(RC[-4]3,RC[-4]<6,RC[-2]=""LW-118"")" If ActiveCell.Value = "True" Then StudentStatus = "Mop Up" ActiveCell.Value = StudentStatus ElseIf ActiveCell.Value = "False" Then ActiveCell.FormulaR1C1 = "=AND(RC[-4]=6,RC[-3]<21,RC[-2]=""LW-118"")" If ActiveCell.Value = "True" Then StudentStatus = "Prog" ActiveCell.Value = StudentStatus ElseIf ActiveCell.Value = "False" Then StudentStatus = "Incomplete" ActiveCell.Value = StudentStatus End If End If End If End Sub *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Paste the following formula into E1. If that is not where you
ultimately want it, copy it to the cell you want. =IF(AND(A1=6,B1=21,C1="LW-118"),"Prog+NCE",IF(AND(A13,A1<6,C1="LW-118"),"Mop Up",IF(AND(A1=6,B1<21,C1="LW-118"),"Prog","Incomplete"))) Corinne Ross wrote: Thank you Don I have managed to get the program to behave in the way I want and realised where I was going wrong. But there may be a better way to achieve this and I'd love to learn. It's quite longwinded! Here's my code: Dim StudentStatus As String ActiveCell.FormulaR1C1 = "=AND(RC[-4]=6,RC[-2]=""LW-118"",RC[-3]=21)" If ActiveCell.Value = "True" Then StudentStatus = "Prog + NCE" ActiveCell.Value = StudentStatus ElseIf ActiveCell.Value = "False" Then ActiveCell.FormulaR1C1 = "=AND(RC[-4]3,RC[-4]<6,RC[-2]=""LW-118"")" If ActiveCell.Value = "True" Then StudentStatus = "Mop Up" ActiveCell.Value = StudentStatus ElseIf ActiveCell.Value = "False" Then ActiveCell.FormulaR1C1 = "=AND(RC[-4]=6,RC[-3]<21,RC[-2]=""LW-118"")" If ActiveCell.Value = "True" Then StudentStatus = "Prog" ActiveCell.Value = StudentStatus ElseIf ActiveCell.Value = "False" Then StudentStatus = "Incomplete" ActiveCell.Value = StudentStatus End If End If End If End Sub *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
offset is zero based. to the right would be offset(0,1)
-- Regards, Tom Ogilvy "Don Guillett" wrote in message ... one simple way. There is probably a better way if we knew your code and the full parameters of your need. if cond1 then activecell.offset(1,2)=text1 if cond2 then activecell.offset(1,2)=text2 -- Don Guillett SalesAid Software "Corinne R" wrote in message om... I'm learning VBA and have got stuck! I have a spreadsheet with 7 columns of information. I want to work down the spreadsheet, testing 4 criteria. The critera look at the columns and test to see if they apply. I can use the And function to return a true or false value. I want to use VBA to say that if a particular condition applies then put 'text1' in the cell to the right, if not test the next condition and if that is true then put 'text2' in the cell to the right, if not test the next condition. I've recorded the macro and am using an activecell.formula = approach. I just can't get it to run in an Else If way. The first test runs but the second doesn't. I can't put an if statement before the activecell.formula. Has anyone got any ideas on how to overcome this? Much appreciated Corinne R |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Dim cell as Range
for each cell in Range("A1:A200") if cell.Value 100 then cell.offset(0,1).Value = "'100" elseif cell.Value 75 then cell.offset(0,1).Value = "'75" elseif cell.value 50 then cell.offset(0,1).Value = "'50" else cell.offset(0,1).Value = "'<=50" end if Next -- Regards, Tom Ogilvy "Corinne R" wrote in message om... I'm learning VBA and have got stuck! I have a spreadsheet with 7 columns of information. I want to work down the spreadsheet, testing 4 criteria. The critera look at the columns and test to see if they apply. I can use the And function to return a true or false value. I want to use VBA to say that if a particular condition applies then put 'text1' in the cell to the right, if not test the next condition and if that is true then put 'text2' in the cell to the right, if not test the next condition. I've recorded the macro and am using an activecell.formula = approach. I just can't get it to run in an Else If way. The first test runs but the second doesn't. I can't put an if statement before the activecell.formula. Has anyone got any ideas on how to overcome this? Much appreciated Corinne R |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
help with the macro or with the formula | Excel Worksheet Functions | |||
Macro or Formula? | Excel Discussion (Misc queries) | |||
Help with macro or formula | Excel Discussion (Misc queries) | |||
Macro/Formula Help? | Excel Discussion (Misc queries) | |||
Formula to macro...anyone?? | Excel Programming |