2014-12-19 29 views
0

我正在使用條件格式,其中一些變成綠色細胞和一些紅色,這取決於他們是否是輸入/輸出正確的範圍內的電子表格。複製特定顏色的細胞放置在不同的工作表

我需要的是紅色的「不符合規格」的數字被複制到下一張紙留下「內規範」號綠燈熄滅第二片。有點像這樣:

表1:

b 4分配

的C 5

d 6

E 3

表2:

一個

B 4

的C 5

d 6

Ë

我希望這是有道理的,我沒有采取截圖,但我不能發佈他們!我的手指交叉,有人可以幫助:)

預先感謝您 爵士

+0

你嘗試過什麼到目前爲止? – rusk 2014-12-19 06:25:51

+0

我有,我可以得到的數據移動牀單,但我無法弄清楚如何得到只是紅細胞移動 – user3522636 2014-12-19 19:36:54

回答

0

這可能不是做的最好辦法,但它爲我工作。
嘗試:

Dim i As Integer 
Dim cell As String 

Sheets("Sheet1").Activate 

For i = 1 To 10 

    'Check if font is red 
    If Range("A" & i).Font.Color = "fontcolor" Then 

    cell = Range("A" & i).Value 
    'Check for a number in the cell and remove the right most number 
    While IsNumeric(Right(cell, 1)) 
     cell = Range("A" & i).Value 
     cell = Left(cell, Len(cell) - 1) 
     Sheets("sheet2").Range("A" & i).Value = cell 
    Wend 

    Else 
    'If font is not red then display cell value on sheet2 
    Sheets("sheet2").Range("A" & i).Value = Sheets("sheet1").Range("A" & i).Value 
    End If 

Next 

Sheets("Sheet2").Activate 

編輯
在這種情況下, 「A3」 有紅色的字體。
要找到你的紅色字體使用的顏色:

sub Text_Color() 
Dim color As String 
'"A3" has red text. 
color = Sheets("sheet1").Range("A3").Font.color 
MsgBox "My text color is= " & color 
End Sub 

拿在MSGBOX發現數筆,在這個例子393372.而從上面的代碼393372替換「FONTCOLOR」。

+0

嘿!謝謝您的幫助!我已經設置了這一切,但是當我點擊宏指定的按鈕時,它會將所有單元格複製到下一張表單中,而我只需要紅色單元格移動。有任何想法嗎? – user3522636 2014-12-19 19:32:15

+0

你需要找到你的紅色文本的顏色。我編輯了我的帖子,以幫助您找到這些信息。希望有所幫助。 – Hubvill 2014-12-19 20:34:59

+0

這將是我出錯的地方,我在單元格中填充了紅色,當我在新的一年回去工作時,我改變了它,所以它是紅色的文字。謝謝你的幫助! – user3522636 2014-12-20 21:00:46

1

我假設數據在Sheet1的A列。

測試

Sub checkColornCopy() 

查找自動化

lastRow = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row 

sheet2Counter = 1 

For i = 1 To lastRow 

提取細胞內部的顏色最後一排

ConditionalColor = Worksheets("Sheet1").Cells(i, 1).Interior.ColorIndex 

色指數3表示 「紅」

If ConditionalColor = 3 Then 

如果顏色是紅色thenCopying工作表Sheet1的單元格的內容到Sheet2

Worksheets("Sheet2").Cells(sheet2Counter, 1).Value = Worksheets("Sheet1").Cells(i, 1).Value 

製作空白工作表Sheet1的單元格內容

Worksheets("Sheet1").Cells(i, 1).Value = " " 
sheet2Counter = sheet2Counter + 1 

End If 

Next 

End Sub 
+0

嘿,我也試過這個,沒有喜樂。我點擊按鈕,沒有任何反應。感謝您花時間儘管:)我也很感激,同樣,數據在我正在測試的B列中,但在真正的電子表格中,它來自B50:S100:/ – user3522636 2014-12-19 19:36:12

+0

您是否可以發佈輸入和期望的輸出,因爲上面的代碼適合我 – NEOmen 2014-12-20 11:08:41

相關問題