insert two text values

H

hotherps

I have the following code that works well:

If .Cells(x, skilly).Value = "x" And did = False Then
For y = timeStart To timeStart + 7
If .Cells(x, y).Value = "." _
And counter < 6 _
And need > 0 Then
.Cells(x, y).Value = "ENG"
counter = counter + 1
need = need - 1
End If
Next y
End If

What I want to is insert a text value "Test" into cells 7 and 8.
You can see the counter stops placing the value after 6 times I want t
fill in the next 2 cells after that with a fixed string value.The resul
would look like:

Eng Eng Eng Eng Eng Eng Test Test

Thank
 
T

Tom Ogilvy

Possibly

If .Cells(x, skilly).Value = "x" And did = False Then
For y = timeStart To timeStart + 7
If .Cells(x, y).Value = "." _
And counter <= 6 _
And need > 0 Then
Cells(x, y).Value = "ENG"
Elseif Counter > 6 then
Cells(x,y).Value = "ENG"
End if
counter = counter + 1
need = need - 1
End If
Next y
End If

However, if you will always fill in 8 cells then this might be easier:

If .Cells(x, skilly).Value = "x" And did = False and Need > 0 and _
.Cells(x,TimeStart) = "." Then
.Cells(x,TimeStart).Resize(1,8).Value = _
Array("ENG","ENG","ENG","ENG","ENG","ENG","TEST","TEST")
End if
 
H

hotherps

Bob I got an unexpected result. Your code worked it dropped in "text" i
the two cells that it should have but after that it stopped followin
it's original criteria.

The part where it states the need >0 , it is ignoring because it keep
assigning Eng even after the need = 0

It's probably because I put it in the wrong place, did I?

With Sheet236
For x = 11 To 298
counter = 0
did = False
For n = 1 To timeStart
If .Cells(x, n).Value = "ENG" Then
did = True
End If
Next n
If .Cells(x, skilly).Value = "x" And did = False Then
For y = timeStart To timeStart + 7
If .Cells(x, y).Value = "." _
And counter < 6 _
And need > 0 Then
.Cells(x, y).Value = "ENG"
counter = counter + 1
need = need - 1
Cells(x, y).Resize(1, 6) = "ENG"
Cells(x, y + 6).Resize(1, 2) = "Test"
End If
Next y
End If
Next x
End With

Thank
 
B

Bob Kilmer

What I tossed out was not a complete solution. I was just suggesting that
you can put values in more than one cell at a time. I didn't really work it
into your code. See Tom's comments.
 
T

Tom Ogilvy

Elseif Counter > 6 then
Cells(x,y).Value = "ENG"


should have been

Elseif Counter > 6 then
Cells(x,y).Value = "TEST"

--
Regards,
Tom Ogilvy


Tom Ogilvy said:
Possibly

If .Cells(x, skilly).Value = "x" And did = False Then
For y = timeStart To timeStart + 7
If .Cells(x, y).Value = "." _
And counter <= 6 _
And need > 0 Then
Cells(x, y).Value = "ENG"
Elseif Counter > 6 then
Cells(x,y).Value = "ENG"
End if
counter = counter + 1
need = need - 1
End If
Next y
End If

However, if you will always fill in 8 cells then this might be easier:

If .Cells(x, skilly).Value = "x" And did = False and Need > 0 and _
.Cells(x,TimeStart) = "." Then
.Cells(x,TimeStart).Resize(1,8).Value = _
Array("ENG","ENG","ENG","ENG","ENG","ENG","TEST","TEST")
End if
 

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