View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Copying Range Based On Certain Criteria? Possible looping through the Range

If your code works well except for this one problem, then integrate a check
to see if you should copy or not. One way:
' apply your filter then
set rng = Activesheet.Autofilter.Range
s = rng.columns(1).Address
s1 = rng.Columns(8).Address
cnt = Evaluate("Sum(--(" & s & "=""Actual""),--(" & s1 & "=""CCLS""))")
if cnt 1 then
' code to do the copying
end if


another

Dim rng as Range

' after you have applied the critieria to the data and before you attempt to
copy
set rng = ActiveSheet.Autofilter.Columns(1)
if rng.Specialcells(xlVisible).Count 1 then
' do the copy

End if


If it is simpler, perhaps that if CCLS exists in column H, then you will
have rows to copy you could check with

if Application.Countif(Activesheet.Autofilter.Range.C olumns(8),"CCLS") 0
then


end if

--
Regards,
Tom Ogilvy



"Big H" wrote in message
...
Hi There,

the problem I have is this:

I have a dynamic range of data A2:H?

if ColumnA = Actual, ColumnH = CCLS, within the same row or rows, I want
to copy that information and paste it onto another sheet. Is there a way
of looping through the rows and copying to another sheet?

At present I have code (using the recorder) whereby I put a filter on the
columns and set the criteria I want, then I have defined a Name (A_CCLS),
which is dynamic, copy this range and paste it. The problem with this is
that sometimes ColumnH will not have CCLS within it and this causes an
error within the code.

regards Harry