2016-05-31 72 views
0

所以我有一列需要簡化的數據。我可以在Excel中創建自我更新模塊嗎?

ColumnA  ColumnB 

Cyan   Blue 
Navy   Blue 
Forest  Green 

我想寫一個模塊,它會問我如何處理青色時,它第一次遇到它,我不得不輸入藍色。但對於在此之後遇到青色的所有情況,相應的列B需要是藍色的。

回答

0
Sub SIMPLIFY() 
    RECORD_COUNT = Range("A" & Rows.Count).End(xlUp).Row 
    For i = 1 To RECORD_COUNT 
     If WorksheetFunction.CountIf(Columns("A"), Range("A" & i)) > 0 Then 
      RECORD_ROW = WorksheetFunction.Match(Range("A" & i), Columns("A"), 0) 
      If Cells(RECORD_ROW, 2) <> Empty Then 
       Cells(i, 2) = Cells(RECORD_ROW, 2) 
      Else 
       Cells(i, 2) = InputBox("Input Color for " & Cells(i, 1)) 
      End If 
     End If 
    Next i 
End Sub 

將上面的代碼複製到工作表VBA中。 代碼等待列「A」中的任何更改並檢查以前的數據。 如果顏色存在,它會自動輸入顏色,或者在新顏色時詢問顏色。

+0

我沒有得到如何使用此代碼。 [鏈接](http://superuser.com/questions/309524/how-do-i-use-a-private-sub-in-excel)我用這個問題的refrenced弄清楚如何使用私人潛艇,但仍然我不能。 –

+0

您可以右鍵單擊工作表選項卡。然後點擊「查看代碼」。它會引導你到哪裏你可以粘貼上面的代碼。返回到您選擇的工作表。然後,您可以嘗試在Worksheet列「A」上輸入數據。你會看到它是如何工作的。讓我知道你是否還有其他問題 – MutjayLee

+0

哦哇。感謝您的幫助,我確實讓您的代碼正常工作。但它不是我想要的。 A列已經填滿了數據。我不必手動輸入它。 –

相關問題