2016-10-10 28 views
0

此過程正在用於QC目的。我有一個電子表格,根據它們的值和我們已有的驗證規則,突出顯示某些錯誤的單元格。我想知道是否有一種方法可以返回每列中着色到A列的每個單元格的列名稱?例如,如果D2,F2和G2錯誤,它會將所有這些列標題置於A2中,以指明究竟是什麼錯誤。我知道嘗試使用單元格顏色自動化東西會變得稍微複雜一點,而我在VBA中並沒有經驗,我認爲這將需要。這有可能做到,如果是這樣的話,那麼正確的路線是什麼?數據從列A到列BS運行,並且行數可能不同,所以如果它可以運行到1,000行將會很好。附加的是我正在使用的數據。返回有色單元格的列標題

The red means something is wrong in that row, and the orange cell is the color indicating that it is a wrong value

+1

你問的唯一問題是:*這是可能的嗎?*。答案是肯定的。如果你想獲得更多的幫助,請閱讀[如何提問](http://stackoverflow.com/help/how-to-ask),並用更清晰,簡潔和代碼編輯你的問題。 –

+0

爲什麼不把重點放在值和驗證規則上而不是顏色本身上?定位邏輯比色彩更容易。通過專注於邏輯,你可能根本不需要VBA。 –

+0

我認爲這會更容易脫離細胞的顏色,因爲根據其他值可能會接受不同的值。所以我認爲,通過各種組合,更容易脫離細胞的顏色。 – elagarde

回答

0

是的,這是可以做到的。以下是一些代碼片段,我將它們放在一起幫助您開始。

Lastrow = Cells(Rows.count, "A").End(xlUp).Row 'Get last row 
With ActiveSheet 
Lastcol = .Cells(1, .Columns.count).End(xlToLeft).Column 'Get last col 
End With 

For x = 1 To Lastcol 'Iterate Col  
     For i = 1 To Lastrow 'Iterate Row 
      'if red.... 
      If Cells(i, x).Selection.Interior.Color = 255 then 
       'Move name to Cell A and append off of old name(s). 
       Cells(i, "A") = Cells(i, "A") & ", " & Cells(i, x) 
      End If  
     Next i 'next row 
    Next x 'next col 
+0

dv - 因爲即使你說psuedo-code,它實際上並不是psuedo-code,但實際上很潦草的代碼。 –

+2

@ScottHoltzman,它的一個開始,我不會爲他寫代碼。它是從我以前的代碼拉到一起的開始。如果你有比我的更好/更清潔的答案。請提交併分享,因爲這只是告訴他「是」而已。 – 2016-10-10 20:22:44

相關問題