From: bawpie on
Okay, hopefully this is the last question today!

I've found the below formula in one of the posts here, but my brain has
completely failed on me and I'm not sure how to adapt it to my requirements.

I have a value which is entered by the user after a prompt, that populates
in cell G4 in a sheet called 'Lookup'. For arguments sake, the current value
is 30/11/09.

I have another worksheet, 'Data', which has a column populated with dates
(say column B). I'd like a macro that looks in column B on the data sheet,
and clears out any dates which are greater than the value in cell G4. I just
want to empty those cells, not delete columns or anything else.

Sub sth()
Dim cell As Range

For Each cell In Selection
If cell.Value < 1000 Then
cell.ClearContents
End If
Next cell


End Sub

From: Mike H on
Hi,

Try this

Sub sth()
Dim LastRow as long
lastrow = Sheets("Data").Cells(Cells.Rows.Count, "B").End(xlUp).Row
Set MyRange = Sheets("Data").Range("B1:B" & lastrow)
For Each c In MyRange
If c.Value > Sheets("lookup").Range("G4") Then
c.ClearContents
End If
Next

Mike

"bawpie" wrote:

> Okay, hopefully this is the last question today!
>
> I've found the below formula in one of the posts here, but my brain has
> completely failed on me and I'm not sure how to adapt it to my requirements.
>
> I have a value which is entered by the user after a prompt, that populates
> in cell G4 in a sheet called 'Lookup'. For arguments sake, the current value
> is 30/11/09.
>
> I have another worksheet, 'Data', which has a column populated with dates
> (say column B). I'd like a macro that looks in column B on the data sheet,
> and clears out any dates which are greater than the value in cell G4. I just
> want to empty those cells, not delete columns or anything else.
>
> Sub sth()
> Dim cell As Range
>
> For Each cell In Selection
> If cell.Value < 1000 Then
> cell.ClearContents
> End If
> Next cell
>
>
> End Sub
>