Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi
I am very very new at this but have created a spreadsheet to import data from three different weather stations via text files. The data has come into my spreadsheet ok, but I am required to do a comparison on the humidy of the data ie if value in a range (humidity) is less then 0 or greater than 1000 then a message of "data requires to be between 0 - 100" is produced. When I run the If|Then statement the output is true the first time around, but if the data is changed then the statement does not run correctly. I think (though I could be very wrong) that the If|Then statement requires to be reset, or refreshed. The statement is : Dim hmdcell As Range 'Humidity Column Sheets("Data").Select For Each hmdcell In Range("E2:E25") If hmdcell = Empty Then Sheets("Reports").Select Range("D20") = "Data must be numeric" Exit For End If If hmdcell 100 Or hmdcell < 0 Then Sheets("Reports").Select Range("D20") = "Data must be in the range of 0 to 100%" End If If Val(hmdcell) < 100 Then Sheets("Reports").Select Range("D20") = "Data Test" End If As this is part of a larger macro the End sub is not required. This is probably all wrong but that is why I require some guidance. Hope you can assist. Pol |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
try using <and instead of <or in the first if statement
-- remove $$$ from email addresss to send email "Pauline M via OfficeKB.com" wrote in message ... Hi I am very very new at this but have created a spreadsheet to import data from three different weather stations via text files. The data has come into my spreadsheet ok, but I am required to do a comparison on the humidy of the data ie if value in a range (humidity) is less then 0 or greater than 1000 then a message of "data requires to be between 0 - 100" is produced. When I run the If|Then statement the output is true the first time around, but if the data is changed then the statement does not run correctly. I think (though I could be very wrong) that the If|Then statement requires to be reset, or refreshed. The statement is : Dim hmdcell As Range 'Humidity Column Sheets("Data").Select For Each hmdcell In Range("E2:E25") If hmdcell = Empty Then Sheets("Reports").Select Range("D20") = "Data must be numeric" Exit For End If If hmdcell 100 Or hmdcell < 0 Then Sheets("Reports").Select Range("D20") = "Data must be in the range of 0 to 100%" End If If Val(hmdcell) < 100 Then Sheets("Reports").Select Range("D20") = "Data Test" End If As this is part of a larger macro the End sub is not required. This is probably all wrong but that is why I require some guidance. Hope you can assist. Pol |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have tried that but doesn't that mean that both statements have to return a
true or false value on the less than 0 and more than 1000 statement?. Sorry to sound a bit vague on this but what do you mean by remove the $$$ from the e-mail address. This is the first time I have ever used the internet so bit slow on the up take. Took me ages just to find where I reply to your answer. R.VENKATARAMAN wrote: try using <and instead of <or in the first if statement -- remove $$$ from email addresss to send email Hi I am very very new at this but have created a spreadsheet to import data from [quoted text clipped - 32 lines] Hope you can assist. Pol -- Message posted via OfficeKB.com http://www.officekb.com/Uwe/Forums.a...mming/200509/1 |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
It sounds to me that you just need to re-run the macro if the data changes.
Maybe it would be best to tie the code to a worksheet event and trap the data changes there. If you post the whole code we can have a crack at it, but tell us which cells would have the data that can change. BTW remove $$$ means that he has put some extra into his email addy to try and deter spammers, so you cannot reply directly to him. -- HTH Bob Phillips "Pauline M via OfficeKB.com" wrote in message ... I have tried that but doesn't that mean that both statements have to return a true or false value on the less than 0 and more than 1000 statement?. Sorry to sound a bit vague on this but what do you mean by remove the $$$ from the e-mail address. This is the first time I have ever used the internet so bit slow on the up take. Took me ages just to find where I reply to your answer. R.VENKATARAMAN wrote: try using <and instead of <or in the first if statement -- remove $$$ from email addresss to send email Hi I am very very new at this but have created a spreadsheet to import data from [quoted text clipped - 32 lines] Hope you can assist. Pol -- Message posted via OfficeKB.com http://www.officekb.com/Uwe/Forums.a...mming/200509/1 |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Bob
Thanks for the information I think my data is a bit quirky but have found a solution. If I save the file after the first run, then enter new data in and rerun the macro again the IF | Then statements run correctly. I think it may be something to do with the logic (It sets the true values first then when run again without saving, uses the last true values to run on). (That sounds confusing even to me). In other words I think it may be a bit like turning the bold format on and then having to make sure it is turned of again in a macro, or the next time the bold macro runs it will not run true. Anyway thanks for your time. Very grateful Ozzie. Bob Phillips wrote: It sounds to me that you just need to re-run the macro if the data changes. Maybe it would be best to tie the code to a worksheet event and trap the data changes there. If you post the whole code we can have a crack at it, but tell us which cells would have the data that can change. BTW remove $$$ means that he has put some extra into his email addy to try and deter spammers, so you cannot reply directly to him. I have tried that but doesn't that mean that both statements have to return a true or false value on the less than 0 and more than 1000 statement?. [quoted text clipped - 14 lines] Hope you can assist. Pol -- Message posted via OfficeKB.com http://www.officekb.com/Uwe/Forums.a...mming/200509/1 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
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) | |||
If statement or lookup statement not sure | Excel Worksheet Functions | |||
appending and IF statement to an existing IF statement | Excel Worksheet Functions |