• ベストアンサー

エクセルで上から追記する方法

エクセル2007を使用しています。 A1が空白で、A2に「あ」と打ち、A3に「い」と打ち、A4に「う」と打ち・・・ という風に普通は下に追記していくと思いますが、 A1に「あ」と打つと、A1がA2に書き込まれ、A2がA3に書き込まれ、以下全行下に一行シフトするようにしたいのですが、どうすれば良いでしょうか。 B列、C列以降も同じ処理が出来るようにしたいです。 以上、宜しくお願い致します。

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

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

すでにA1に「あ」が記入してある上に、そのA1に「い」を書いてしまったら。 下に移すとか以前にそれまで記入されてた「あ」は、あなたが書き潰してしまったのでもうどこにも残ってません。 ご相談でヤリタイ事は、そもそもどだい無理なご相談だ、というお話です。 >どうすれば良いでしょうか。 1行目の行番号の1のところを右クリックして「挿入」を開始、1行目に空行を挿入 今まで1行目にあった「あ」がもくろみ通り2行目に移動 すっきり空いた、空っぽの1行目に次の「い」を記入します。 #参考:ふつーじゃないやり方 手順: シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_change(byval Target as excel.range)  dim x  if target.count > 1 then exit sub  if target.row <> 1 then exit sub  application.enableevents = false  x = target.value  application.undo  target.insert shift:=xlshiftdown  target.offset(-1).value = x  application.enableevents = true end sub ファイルメニューから終了してエクセルに戻る A1やB1やC1に一つずつデータを記入する。

john_mcleane
質問者

お礼

ご回答頂きありがとうございます。 すみません説明不足でした。 A1に「あ」と打ち込むとA2にそれがコピーされ、A1は空になり、 その状態でA1に打ち込むと、A2がA3へ、A1がA2へ移動し、A1は空になり・・・ というものでした。 プログラムは分からないんですが、オフセット関数というものを使えば良いんですね。 実際やってみたところ説明文通りに動いてくれて、とても助かりました。 色々とググって改良したいと思います。

関連するQ&A