2016-05-31 7 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

私はこのコードの使い方を知りませんでした。 [link](http://superuser.com/questions/309524/how-do-i-use-a-private-sub-in-excel)プライベートサブシステムを使用する方法を理解するためにこの質問を参考にしました私はできません。 –

+0

[ワークシート]タブを右クリックすることができます。次に、 "コードの表示"をクリックします。上記のコードを貼り付ける場所に移動します。選択したワークシートに戻ります。次に、ワークシートの列 "A"にデータを入力してみることができます。あなたはそれがどのように働くかを見るでしょう。さらなる質問があれば私に知らせてください。 – MutjayLee

+0

ああ、うわー。助けてくれてありがとう、私はあなたのコードを稼働させました。それは私が望んでいたものではありません。列Aは既にデータで満たされています。私は手動で入力する必要はありません。 –

関連する問題