• ベストアンサー

excelで、セル内に文字が入力される毎に行が自動挿入される仕組みを作りたいのですが…

excel2003を使用しております。 excelで、日々購入したものなどをメモ、管理しています。 その際、上からどんどん新しい項目を追加していって、 古い項目はどんどん下に伸びていく…というような入力の 仕方をしているのですが、いちいち新しい項目の 入力のために行を挿入するのはなかなか面倒です。 そこで、ひとつ新しい項目が追加されるごとに、 新たに行が自動的に挿入され、過去の項目は どんどん下にたまっていく…というような仕組みを 作りたいのですが、そのようなことは可能でしょうか? 文章がままならず大変申し訳ないのですが、 玄人の皆々様、是非アドバイスを宜しくお願いいたします。

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

  • ベストアンサー
  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.2

VBAを使わないとできないように思います。 Private Sub Worksheet_Change(ByVal Target As Range) Dim cRow, cCol As Integer cRow = 2 '入力行 cCol = 1 '入力列 If Cells(cRow, cCol).Value <> "" Then Rows(cRow).Insert Shift:=xlDown End If End Sub シートタブを右クリックし[コードの表示]をクリック。 右側のエディタエリアに上記コードを貼り付けて下さい。 cRowとcColで指定したセルに何か入力があれば、cRowの行に1行挿入し それ以降を下段に繰り下げます。 上の例ですと、2行1列目、つまりA2セルに何か入力があると 2行目以降を繰り下げます。 cRowとcColを適宜変更して使用して下さい。

その他の回答 (2)

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.3

わざわざ行を挿入しなくても (1)今日のデータは、最後の行から入力 (2)今日のデータを全部入力し終わったら、     日付をキーにして降順で並び替える これでいいのではありませんか?

  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  >いちいち新しい項目の入力のために行を挿入するのはなかなか面倒です。  シートを2つ使って、シート1は入力、シート2は保管としたらどうでしょう。  シート1の1行目にメモを入力してボタンを押すと、シート2に挿入されるようにします。  ボタンから実行するマクロは、シート1の1行目をコピーしてシート2に挿入する作業をマクロの記録で作成すれば良いと思います。 では。

関連するQ&A