• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特定の条件の転記)

特定の条件の転記が可能か質問します

このQ&Aのポイント
  • エクセル2010で、特定の条件の転記ができるか質問します。入力エリアとして、I10:M29、I32:M51、I55:M73、I76:M95を指定し、転記したい値は同じシート上のA11から下に、B11から下に入力したいと考えています。特定の条件として、入力エリアに-100が入力される場合はA列に100を、100が入力される場合はB列に100を入力するようにしたいです。
  • また、A列とB列には重ならないようにして、段をずらして入力できるようにしたいです。さらに、入力エリアで入力された数値は、A列とB列の値が入力されているセルの下に入力するようにしたいと考えています。
  • ご説明が不足している点がありましたら、お知らせください。詳しい方の回答をお待ちしています。

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

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

転記先のAとBを,どういう理由でどちらに振り分けたいのかが説明されていないため,たとえば数字のゼロを記入したらどっちに転記したいのか,また(誤って?)数値ではなく言葉が記入されたらどうしたいのかなどが不明ですね。 準備 A10セルとB10セルにそれぞれ「結果1」「結果2」と記入しておく シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_change(byval Target as excel.range)  dim h as range, ha as range ’対象範囲の確認  if application.intersect(target, range("I10:M29,I32:M51,I55:M73,I76:M95")) is nothing then exit sub ’処理  on error resume next  for each ha in application.intersect(target, range("I10:M29,I32:M51,I55:M73,I76:M95")).areas  for each h in ha   if isnumeric(h) and h <> "" then   application.enableevents = false   if h.value <=0 then    range("A65536").end(xlup).offset(1).value = -h.value   else    range("B65536").end(xlup).offset(1).value = h.value   end if   application.enableevents = true   end if  next  next end sub 使用状況の想定も詳しく書かれていないので,たとえば複数のセル範囲をまとめて削除したらとか,どっかからまとめて値をコピーして対象範囲に貼り付けたり,オートフィルドラッグしたらどう反応するかとか,いろいろ気を遣う必要があります。 寄せられた回答をキチンと検証してください。

mh1211
質問者

お礼

keithinさん お礼のほうが遅くなりすみません。少し理解するには 早いみたいです。勉強して再度質問しなおします。

mh1211
質問者

補足

keithinさん回答ありがとうございます。 >どういう理由でどちらに振り分けたいのかが説明されていない I10:M29 I32:M51 I55:M73 I76:M95 の上の入力エリアで マイナス値が入力されたら A11より下です。 おなじく入力エリアで プラス値が入力されたら  B11より下です。 0 の値 または 文字の入力は一切なしと 考えてもらってほしいのですが >使用状況の想定も詳しく書かれていないので・・・ 大変もうしわけありません。 もう少しわかりやすく、説明させてもらいます。 少しお時間いただけませんか? よろしく お願いします。

すると、全ての回答が全文表示されます。

関連するQ&A