Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 557
Default copy rows based on cell colour

Hi, can anybody please able to tell me the macro that how can i copy
rows to another sheet on based on cell colour. Like if i have
"Interior.Colorindex = 3" or Red in cell B1,B3 and B7 so how can i
copy those colored rows which should be not entire row but from Cell
A
to Cell F in length to any other sheet. Please anybody can help it
will be very helpful.... Thanks

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 220
Default copy rows based on cell colour

Try this:

Sub test()
a = 1
b = 1
For Each cell In Range("B1:B100")
Select Case cell.Interior.ColorIndex
Case Is = 3
Range(cell.Offset(, -1), cell.Resize(, 5)).Copy _
Sheets(2).Cells(a, 1)
a = a + 1
Case Is = 37
Range(cell.Offset(, -1), cell.Resize(, 5)).Copy _
Sheets(3).Cells(b, 1)
b = b + 1
End Select
Next cell
End Sub

--
Dan

On Dec 13, 4:05 pm, K wrote:
Hi, can anybody please able to tell me the macro that how can i copy
rows to another sheet on based on cell colour. Like if i have
"Interior.Colorindex = 3" or Red in cell B1,B3 and B7 so how can i
copy those colored rows which should be not entire row but from Cell
A
to Cell F in length to any other sheet. Please anybody can help it
will be very helpful.... Thanks


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,986
Default copy rows based on cell colour

Assumes the color is not set by format conditionsl

Sub cpyColr()
Dim c As Range
lastRw = Worksheets(1).Cells(Rows.Count, 2).End(xlUp).Row
For Each c In Worksheets(1).Range("B2:B" & lastRw)
If c.Interior.ColorIndex = 3 Then
lstRw2 = Worksheets(2).Range("A65536").End(xlUp).Row
cRng = c.Address
Worksheets(1).Range("A" & Range(cRng).Row & ":F" &
Range(cRng).Row).Copy _
Worksheets(2).Range("A" & lstRw2 + 1)
End If
Next
End Sub

If cells are colored by conditional format:

Sub cpyColr()
Dim c As Range
lastRw = Worksheets(1).Cells(Rows.Count, 2).End(xlUp).Row
For Each c In Worksheets(1).Range("B2:B" & lastRw)
If c.FormatConditions(1).Interior.ColorIndex = 3 Then
lstRw2 = Worksheets(2).Range("A65536").End(xlUp).Row
cRng = c.Address
Worksheets(1).Range("A" & Range(cRng).Row & ":F" &
Range(cRng).Row).Copy _
Worksheets(2).Range("A" & lstRw2 + 1)
End If
Next
End Sub

"K" wrote:

Hi, can anybody please able to tell me the macro that how can i copy
rows to another sheet on based on cell colour. Like if i have
"Interior.Colorindex = 3" or Red in cell B1,B3 and B7 so how can i
copy those colored rows which should be not entire row but from Cell
A
to Cell F in length to any other sheet. Please anybody can help it
will be very helpful.... Thanks


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,986
Default copy rows based on cell colour

I didn't get the line extension in the right place so after you paste the
code into your code module, make sure that all of this is on one line.

Worksheets(1).Range("A" & Range(cRng).Row & ":F" & _
Range(cRng).Row).Copy _
Worksheets(2).Range("A" & lstRw2 + 1)


"K" wrote:

Hi, can anybody please able to tell me the macro that how can i copy
rows to another sheet on based on cell colour. Like if i have
"Interior.Colorindex = 3" or Red in cell B1,B3 and B7 so how can i
copy those colored rows which should be not entire row but from Cell
A
to Cell F in length to any other sheet. Please anybody can help it
will be very helpful.... Thanks


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,986
Default copy rows based on cell colour

Sub cpyColr()
Dim c As Range
lastRw = Worksheets(1).Cells(Rows.Count, 2).End(xlUp).Row
For Each c In Worksheets(1).Range("B2:B" & lastRw)
If c.FormatConditions.Count 0 Then
If c.FormatConditions(1).Interior.ColorIndex = 3 Then
lstRw2 = Worksheets(2).Range("A65536").End(xlUp).Row
cRng = c.Address
Worksheets(1).Range("A" & Range(cRng).Row & ":F" & _
Range(cRng).Row).Copy Worksheets(2).Range("A" & lstRw2 + 1)
End If
End If
Next
End Sub


"K" wrote:

Hi, can anybody please able to tell me the macro that how can i copy
rows to another sheet on based on cell colour. Like if i have
"Interior.Colorindex = 3" or Red in cell B1,B3 and B7 so how can i
copy those colored rows which should be not entire row but from Cell
A
to Cell F in length to any other sheet. Please anybody can help it
will be very helpful.... Thanks


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
copy rows based on cell colour K[_2_] Excel Programming 1 December 13th 07 11:04 PM
Copy rows based on cell content billinr Excel Discussion (Misc queries) 2 February 14th 07 08:17 PM
Copy rows from one sheet to another based on a cell value SM1 Excel Worksheet Functions 1 December 21st 06 01:01 AM
Copy rows from one sheet to another based on a cell value SM1 New Users to Excel 1 December 21st 06 01:00 AM
copy rows based on cell value Przemek Excel Programming 2 August 22nd 05 08:46 AM


All times are GMT +1. The time now is 01:05 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"