• 締切済み

エクセル2010のマクロについての質問です。

エクセルにてマクロを組もうと色々調べているのですが、 どうしてもわからないため教えていただきたいことがあります。 現在、マクロを実行すると固有の文字をアクティブセルに挿入するというマクロを作成しました。 このマクロを少し改造したいのですが、A1とB1に=のものが入っている行の特定の列のセルに固有の文字を挿入するという風にしたいです。 例えば、Aの列にはA1には1、A2には2という風に順に10間での数字が入っていて、 B1には9が入っている場合、C9のセルに固有の文字を挿入するという感じです。 B1を7に変えた場合、C7に固有の文字が挿入されるという感じにしたいです。 質問の仕方が下手でわかりにくいかも知れませんがお知恵をお貸しください。 よろしくお願いします。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

何をしたいかよく分かりませんが、 >B1には9が入っている場合 ではなくて、B1には9を入れた場合 ではありませんか? 各シートにWorksheet_Changeという イベントプロシージャがあります。 セル内容を更新すると呼び出され ます。引数に、対象となったRangeが 渡されるので、ColumnとRowを参照 すれば問題の位置のセルかどうか 分かります。対象ならば規約により 文字を設定し、対象外なら何もせず 終了すればよいでしょう。 因みに、プロシージャ内では単に Cells(7, 2)としないで、Me.Cells(7, 2) のようにターゲットを明確にすべきです。

alienche
質問者

お礼

質問後も色々なサイトを回って自分なりに納得のいくマクロが組めました。 ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

>A1とB1に=のものが入っている行の特定の列のセルに固有の文字を挿入する >Aの列にはA1には1、A2には2という風に順に10間での数字が入っていて、B1には9が入っている場合、C9のセルに固有の文字を挿入  ⇒上記、各要件の平仄が合っていません。文章で説明できない場合、実行前と実行後を簡単なセル表記で表現して再質問した方が良いと思う。 因みにB1を行とした場合の一例です。(B1の妥当性チェックを考慮する必要あり)   Range("C1").Ofsset(Range("B1")-1).Value = "特定文字列"   Cells(Range("B1"),"C").Value = "特定文字列"   Range("C" & Range("B1")).Value = "特定文字列"

alienche
質問者

お礼

質問後も色々なサイトを回って自分なりに納得のいくマクロが組めました。 ありがとうございました。

関連するQ&A