Still having a problem checking cells

H

hotherps

Here is my code:

For x = 11 To 298
If .Cells(x, skilly).Value = "x" Then
For y = timeStart To timeStart + 7
If .Cells(x, y).Value = "." _
And need > 0 Then
.Cells(x, y).Value = skillNam
need = need - 1
End If
Next y
End If
Next x

It works fine, if the criteria is met it adds skillNam to each cell i
the row. However I only want it to add it if it can fill the whole row
A whole row can be from 32 to 44 cells. If the skill name can be place
in the whole row, I want to do it. Or else I want to continue down t
the next row and try again.

The code needs to be able to do something like xlright.
and fill the whole row if it meets the criteria

Thanks

Thank
 
T

Tom Ogilvy

Your code only fills at most 8 sequential cells.

How does that play into the 32 or 44?

How would one know whether the row was 32 or 44?

And you say fill, so see the first comment.
 
H

hotherps

I guess the 8 cells is part of my problem then, because I want to fil
the cells in 32 , 44 consecutive cells at atime.


I need the code to add 32 or 44 cells if = "." which is just acting a
a placeholder.

That's my problem:
"How would one know whether the row was 32 or 44? (your post)

So somehow the code needs to look down the row andd see if there are a
least 32 or 44 cells if so fill the range even if it is greater tha
44.

Thanks Tom

Ji
 
T

Tom Ogilvy

For x = 11 To 298
If .Cells(x, skilly).Value = "x" Then
For y = timeStart To timeStart + 7
If application.Countif(.Cells(x, y).Resize(1,44),".") then
.Cells(x, y).Resize(1,44).Value = skillNam
elseif application.Countif(.Cells(x, y).Resize(1,32),".") then
.Cells(x, y).Resize(1,32).Value = skillNam
End If
Next y
End If
Next x


I don't know what roll need plays.
 
T

Tom Ogilvy

Whoops - if criteria was incomplete

For x = 11 To 298
If .Cells(x, skilly).Value = "x" Then
For y = timeStart To timeStart + 7
If application.Countif(.Cells(x, y).Resize(1,44),".") >= 44 then
.Cells(x, y).Resize(1,44).Value = skillNam
elseif application.Countif(.Cells(x, y).Resize(1,32),".") >= 32 then
.Cells(x, y).Resize(1,32).Value = skillNam
End If
Next y
End If

--
Regards,
Tom Ogilvy


Tom Ogilvy said:
For x = 11 To 298
If .Cells(x, skilly).Value = "x" Then
For y = timeStart To timeStart + 7
If application.Countif(.Cells(x, y).Resize(1,44),".") then
.Cells(x, y).Resize(1,44).Value = skillNam
elseif application.Countif(.Cells(x, y).Resize(1,32),".") then
.Cells(x, y).Resize(1,32).Value = skillNam
End If
Next y
End If
Next x


I don't know what roll need plays.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top