• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAについて)

エクセルVBAでマクロを残したままE列とG列にデータを入力する方法

このQ&Aのポイント
  • エクセルVBAを使用して、E列とG列に日付と売上のデータを入力する方法を探しています。また、A列からC列のマクロも残したままできるようにしたいです。現在のコードを使って同様のプロシージャを下段に書くことを試していますが、うまく動作しません。
  • Excel VBAを使って、E列に日付を、G列に売上のデータが入力されるようにしたいです。また、A列からC列のマクロも残したままできるようにしたいです。現在、下記のコードを使って同様のプロシージャを下段に書いてみましたが、うまく動作しません。
  • エクセルVBAを使用して、E列とG列に日付と売上のデータを入力する方法を探しています。A列からC列のマクロも残したままできるようにしたいです。現在のコードを使用して同様のプロシージャを下段に書いてみましたが、正常に動作しません。どなたかアドバイスをいただけませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

同じタイプのマクロを2つ並べて書いても動きません。 一つのマクロの中で,「ここに入力があったらこうする,こっちに入力があったときはこれをする」と仕分けて書きます。 手順: シート名タブを右クリックしてコードの表示を選ぶ 現れたシートの記載内容を「すべて」消去する 下記をコピー貼り付ける #判りやすい版 private sub worksheet_change(byval Target as excel.range)  if target.cells(1) = "" then exit sub  if target.address = "$A$1" then   Range("C10:C65536").ClearContents   With Range(Cells(9 + Range("A1").Value, "C"), Cells(Range("A65536").End(xlUp).Row, "C"))    .FormulaR1C1 = "=MAX(RC2:R[" & -Range("A1").Value + 1 & "]C2,FALSE)"    .Value = .Value   End With  elseif target.address = "$E$1" then   Range("G10:G65536").ClearContents   With Range(Cells(9 + Range("E1").Value, "G"), Cells(Range("E65536").End(xlUp).Row, "G"))    .FormulaR1C1 = "=MAX(RC6:R[" & -Range("A1").Value + 1 & "]C6,FALSE)"    .Value = .Value   End With  end if end sub -----------まずここまで--------- #実際に使う版(上述を試した後,マクロをまた消して差し替える) private sub Worksheet_Change(byval Target as excel.range)  if target.address <> "$A$1" and target.address <> "$E$1" then exit sub  if target = "" then exit sub  target.offset(9, 2).resize(60000,1).clearcontents  with range(cells(9 + target.value, target.column + 2), cells(65536, target.column).end(xlup).offset(0, 2))   .formula = "=MAX(RC[-1]:R[" & -Range("A1").Value + 1 & "]C[-1])"   .value = .value  end with end sub

jufox555
質問者

お礼

昨日に引き続きありがとうございます。 #判りやすい版については 完璧です。ありがとうございます。 更に増やしたい時は 「elseif target.address =」~「End With」 でセルを書き換えて追加していけば良いのでしょうか? #実際に使う版は 消して差し替えたのですがなぜか無反応です。

jufox555
質問者

補足

#実際に使う版も やり直しましたらちゃんと作動しました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう