ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Data Validation (https://www.excelbanter.com/excel-programming/388466-data-validation.html)

Astrofin

Data Validation
 
As part of a procedure, I need to check values against those in another
spreadsheet. How do I check values against a range?

For example:

If basebook.Worksheets(1).Cells(rnum, cnum).Value 'is contained within the
range
SiteBook.Worksheets(1).Range("a3:a87") Then

colour the cell green
else colour the cell red

Built in conditional formatting on a list wont work here, as this needs to
run as a procedure is pulling data into the workbook from another (third)
book.

I want to replicate excels data validation on a list using vba, but just
can't get my head around the look up and return true/false bit. Can anyone
offer a suggestion?

Thanks for your time.

Barb Reinhardt

Data Validation
 
I presume you've identified basebook and sitebook in your code.

Try something like this:

dim r as range

basebook.Worksheets(1).Cells(rnum, cnum).interior.colorindex = 3
for each r in SiteBook.Worksheets(1).Range("a3:a87")
if r.value = basebook.Worksheets(1).Cells(rnum, cnum).value then
basebook.Worksheets(1).Cells(rnum, cnum).interior.colorindex = 4
exit for
end if
next r

"Astrofin" wrote:

As part of a procedure, I need to check values against those in another
spreadsheet. How do I check values against a range?

For example:

If basebook.Worksheets(1).Cells(rnum, cnum).Value 'is contained within the
range
SiteBook.Worksheets(1).Range("a3:a87") Then

colour the cell green
else colour the cell red

Built in conditional formatting on a list wont work here, as this needs to
run as a procedure is pulling data into the workbook from another (third)
book.

I want to replicate excels data validation on a list using vba, but just
can't get my head around the look up and return true/false bit. Can anyone
offer a suggestion?

Thanks for your time.


Astrofin

Data Validation
 
Thanks Barb, I've been struggling with this for a while and your solution has
worked perfectly.



"Barb Reinhardt" wrote:

I presume you've identified basebook and sitebook in your code.

Try something like this:

dim r as range

basebook.Worksheets(1).Cells(rnum, cnum).interior.colorindex = 3
for each r in SiteBook.Worksheets(1).Range("a3:a87")
if r.value = basebook.Worksheets(1).Cells(rnum, cnum).value then
basebook.Worksheets(1).Cells(rnum, cnum).interior.colorindex = 4
exit for
end if
next r

"Astrofin" wrote:

As part of a procedure, I need to check values against those in another
spreadsheet. How do I check values against a range?

For example:

If basebook.Worksheets(1).Cells(rnum, cnum).Value 'is contained within the
range
SiteBook.Worksheets(1).Range("a3:a87") Then

colour the cell green
else colour the cell red

Built in conditional formatting on a list wont work here, as this needs to
run as a procedure is pulling data into the workbook from another (third)
book.

I want to replicate excels data validation on a list using vba, but just
can't get my head around the look up and return true/false bit. Can anyone
offer a suggestion?

Thanks for your time.



All times are GMT +1. The time now is 05:23 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com