質問: vba リストを参照して文字色を変える リスト表と一覧表の2つの表があるとします。 例えば。 リストの中に下記が入力されています。 ああああ いいいい うううう ええええ おおおお このリストを参照して 一覧表にも“ああああ”があったら その文字を赤くする。 このマクロの組み方を教えてください。 宜しくお願いします。
回答: こんにちは。 fareyesです。 > そのままコピーぺしてやってみました。 何処に(どのモジュールに?)コピーされたのでしょう? #3の改造前のexcelブック(#2のコードが実装された時点のexcelブック)にコピー されたのでしょうか? その場合、改造前のコードを「全て削除」した上でコピーされたのでしょうか? 昔のコードが残っていて重複しているような部分はないでしょうか? ※マクロコードなどを修正・改造する場合は、修正前のexcelブックはそのままに しておいて、別ファイルとしてexcelブックを保存してから修正を加えるか、新しい excelブックを作成し、そこに旧コードをコピー&ペーストして修正を加えるように した方が良いと思います。 こちらでは、ご提示のエラーが再現できないので、原因がつかめないのですが、 念のため、以下の操作を行ってみて下さい。 1)excelを起動して、「ファイル」→「新規作成」で、新しいブック(何も手を加えて いない、まっさらなexcelブック)を作成して下さい。 2)作成したブックで、「visual basic editor(vbe)」を起動して、シート1(sheet1) のコードモジュールへ、#3のコードをコピー&ペーストして貼り付けて下さい。 3)vbeの画面で、「デバッグ」→「vba projectのコンパイル」でコンパイルを 行ってみて下さい。 ※もしも、ここで何かしらのエラーが表示された場合は、 「エラー発生箇所のコード内容」 と 「表示されたエラーメッセージ」 を、ご報告願えないでしょうか? もしくは、「ヘルプ」などを参照して、ご自身でエラーを修正して下さい。 4)上記3)で何もエラーが表示されなかった場合は、vbe画面を閉じて、excelの シート画面に戻って下さい。 5)シート1(sheet1)に、必要な「リスト」データと、「一覧表」の枠のみ(※ここ では、まだデータは記入しない)を作成して下さい。 6)ここで、一旦excelブックを、「名前を付けて保存」で保存したのち、続けて、 excelを終了させて下さい。 ※他のexcelブックを開いていた場合は、そのブックも終了させて下さい。 (excelが完全に起動されていない状態にします。) 7)上記6)で保存したexcelブックを、再び開いて下さい。 ※この際、マクロを有効にして下さい。 8)シート1(sheet1)の「一覧表」のセルに、適当な文字列を入れて[enter]キー を押して下さい。 ※これで、セル更新のイベントが発生し、マクロが実行されると思います。 ※ここで、もしも、エラーが発生し場合は、 「エラー発生箇所のコード内容」 と 「表示されたエラーメッセージ」 を、ご報告願えないでしょうか? もしくは、「ヘルプ」などを参照して、ご自身でエラーを修正して下さい。 以上です。