Loopy Code

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have four columns I am working with B344:E362. Column B I am trying to
populate based on a list of options from D. Column E is a list of TRUE or
FALSEs based on whether the value should be added to column B. I am trying a
loop at follows and I don't think I am on the right track.

Dim Check, AddValue
Check = Sheets(“Defaultsâ€).Range(“D344â€).Value
AddValue = Sheets(“Defaultsâ€).Range(“B344â€)
Do
If Sheets(“Defaultsâ€).Range(“E344â€) = True Then
AddValue = Check
Else

End If
Check = Check.Offset(1,0)
Loop Until Check = “â€

Thanks for any help
 
If you are wanting to copy the value from column D to column B where column E
is true then you could do it like this:

Sub Loopy()
Dim lRow As Long
Dim Cell As Range
Dim chkRange As Range
lRow = Cells(Rows.Count, 5).End(xlUp).Row
Set chkRange = Range(Cells(344, 2), Cells(lRow, 2))
For Each Cell In chkRange
If Cell.Offset(0, 3).Value Then
Cell.Value = Cell.Offset(0, 2).Value
End If
Next Cell
End Sub

Of course if that is what you are wanting to do then you could just enter
the formula =IF(E344,D344,"") in B344 and copy it down.

Hope this helps
Rowan
 
Cody said:
I have four columns I am working with B344:E362. Column B I am trying to
populate based on a list of options from D. Column E is a list of TRUE or
FALSEs based on whether the value should be added to column B. I am trying a
loop at follows and I don't think I am on the right track.

Dim Check, AddValue
Check = Sheets("Defaults").Range("D344").Value
AddValue = Sheets("Defaults").Range("B344")
Do
If Sheets("Defaults").Range("E344") = True Then
AddValue = Check
Else

End If
Check = Check.Offset(1,0)
Loop Until Check = ""

Thanks for any help

Consider this (untested)

<snip>
sheets("defaults").activate
for row = 344 to 362
if trim(ucase(range("e"&row).value)) = "TRUE" then _
range("b"&row).value = range("b"&row).value + range("d"&row).value
next
</end snip>

note: if you dont know where the data ends, change the for..next's ending
value to "Range("b65536").end(xlup).row" where column(b) is your longest
data column.
 
This code is returning the value of cell B343 and not completing the
remainder of the list. I don't follow some of the code and I am busy with
"Help" right now working on it. If I figure out the problem I will let you
know.

Thanks for any help.
 
The code is running but the values are not being added the the column as
required. I am not sure what is happening. I think we're close though.
 

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

Back
Top