Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default 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-


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default 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
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,302
Default 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-



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default 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



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Advancing outer Loop Based on criteria of inner loop ExcelMonkey Excel Programming 1 August 15th 05 05:23 PM
Loop Function unable to loop Junior728 Excel Programming 1 July 28th 05 10:23 AM
Problem adding charts using Do-Loop Until loop Chris Bromley[_2_] Excel Programming 2 May 23rd 05 01:31 PM
For/Loop skipping one value in loop only Matt Jensen Excel Programming 6 January 8th 05 12:03 PM
HELP!!!! Can't stop a loop (NOT an infinite loop) TBA[_2_] Excel Programming 3 December 14th 03 03:33 PM


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"