ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Need loop help (https://www.excelbanter.com/excel-programming/339534-need-loop-help.html)

Steven Platt

Need loop help
 
I have a spreadsheet that I need to read the D column all the way down. If
the cell in that column is pink(38) then I would like to take the contents
of that cell(not the color) and make it go up 1 and left 1. I was thinking
that I could use R1C1 format with something like R-1C-1 but I am unsure how
to do it. Can someone help me? Here is what I have so far.

For i = 1 To lastRow
Set currCell = ActiveWorkbook.Sheets("Sheet1").Cells(i, 4)
If currCell.Interior.ColorIndex = 38 Then
' need to take the contents and put it in the cell one up and
one left.
Else
MsgBox "Cell D" & i & " is NOT 38"
End If
Next

Thanks,
-Steven-



Dave Peterson

Need loop help
 
Maybe...

with activeworkbook.worksheets("sheet1")
For i = 2 To lastRow
If .cells(i,4).Interior.ColorIndex = 38 Then
.cells(i-1,3).value = .cells(i,4).value
'or
'.cells(i,4).offset(-1,-1).value = .cells(i,4).value
end if
next i
end with

I started with row 2--1 up from row 1 is a problem.


Steven Platt wrote:

I have a spreadsheet that I need to read the D column all the way down. If
the cell in that column is pink(38) then I would like to take the contents
of that cell(not the color) and make it go up 1 and left 1. I was thinking
that I could use R1C1 format with something like R-1C-1 but I am unsure how
to do it. Can someone help me? Here is what I have so far.

For i = 1 To lastRow
Set currCell = ActiveWorkbook.Sheets("Sheet1").Cells(i, 4)
If currCell.Interior.ColorIndex = 38 Then
' need to take the contents and put it in the cell one up and
one left.
Else
MsgBox "Cell D" & i & " is NOT 38"
End If
Next

Thanks,
-Steven-


--

Dave Peterson

Norman Jones

Need loop help
 
Hi Steven,

Try:

'=================
Public Sub Tester()
Dim Lastrow As Long
Dim i As Long

Lastrow = Cells(Rows.Count, "D").End(xlUp).Row

For i = 2 To Lastrow
With Cells(i, "D")
If .Interior.ColorIndex = 38 Then
.Offset(-1, -1).Value = .Value
End If
End With
Next i

End Sub
'<<=================

---
Regards,
Norman



"Steven Platt" wrote in message
...
I have a spreadsheet that I need to read the D column all the way down. If
the cell in that column is pink(38) then I would like to take the contents
of that cell(not the color) and make it go up 1 and left 1. I was thinking
that I could use R1C1 format with something like R-1C-1 but I am unsure how
to do it. Can someone help me? Here is what I have so far.

For i = 1 To lastRow
Set currCell = ActiveWorkbook.Sheets("Sheet1").Cells(i, 4)
If currCell.Interior.ColorIndex = 38 Then
' need to take the contents and put it in the cell one up and
one left.
Else
MsgBox "Cell D" & i & " is NOT 38"
End If
Next

Thanks,
-Steven-




Steven Platt

Need loop help
 
Thank you guys so much .. both of you. I was stuck trying to incorporate
some of that crazy R1C1 non-sense. Thanks again.

-Steven-
"Dave Peterson" wrote in message
...
Maybe...

with activeworkbook.worksheets("sheet1")
For i = 2 To lastRow
If .cells(i,4).Interior.ColorIndex = 38 Then
.cells(i-1,3).value = .cells(i,4).value
'or
'.cells(i,4).offset(-1,-1).value = .cells(i,4).value
end if
next i
end with

I started with row 2--1 up from row 1 is a problem.


Steven Platt wrote:

I have a spreadsheet that I need to read the D column all the way down.
If
the cell in that column is pink(38) then I would like to take the
contents
of that cell(not the color) and make it go up 1 and left 1. I was
thinking
that I could use R1C1 format with something like R-1C-1 but I am unsure
how
to do it. Can someone help me? Here is what I have so far.

For i = 1 To lastRow
Set currCell = ActiveWorkbook.Sheets("Sheet1").Cells(i, 4)
If currCell.Interior.ColorIndex = 38 Then
' need to take the contents and put it in the cell one up and
one left.
Else
MsgBox "Cell D" & i & " is NOT 38"
End If
Next

Thanks,
-Steven-


--

Dave Peterson





All times are GMT +1. The time now is 07:29 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com