- ベストアンサー
既存の表にデータを追加する方法とは?
- 既存の表にデータを追加する方法について教えてください。
- 表にデータを追加し、履歴を管理したいです。新規の場合はどのように入力すれば良いでしょうか?
- また、新規の方は生年月日も入力したいと思います。表に直接入力する方法や、カーソル移動の方法も教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ご相談で「例えば」じゃなく「実際はこうなんです」が出てきたのは良かったですね。 ところで横に継ぎ足す云々は,年度番号が来年に変わったときだけのお話に落ちてしまったのですか? (それならあんまり手間をかけず,来年度になったらマクロの転記先列番号をちょっと書き換えるだけでも良さそうな気はしますが) 添付図: 入力箇所はC1にどのデータの種類かを記入 B2からD2に基本データ 新しいデータはセルを使わずインプットします まっさらシートのシート名タブを右クリック,コードの表示を選んで貼り付ける Private Sub Worksheet_Change(ByVal Target As Range) Dim h As Range Dim c As Range Dim dd If Application.Intersect(Target, Range("B2:D2")) Is Nothing Then Exit Sub If Application.CountA(Range("B2:D2")) <> 3 Then Exit Sub Set c = Range("5:5").Find(what:=Range("C1"), lookat:=xlWhole) If c Is Nothing Then 'new column Set c = Range("IV5").End(xlToLeft).Offset(0, 1) c = Range("C1") c.Offset(0, 1) = "検査年月日" End If Set h = Range("B6:B65536").Find(what:=Range("B2"), LookIn:=xlValues, lookat:=xlWhole) If h Is Nothing Then 'new record Range("6:6").Insert Range("A6") = "=ROW()-5" Range("B6") = Range("B2") Do dd = InputBox("birthday?") Loop Until IsDate(dd) Range("C6") = dd Set h = Range("B6") End If Cells(h.Row, c.Column) = Range("C2") Cells(h.Row, c.Column + 1) = Range("D2") Range("B2:D2").ClearContents End Sub
その他の回答 (1)
- mu2011
- ベストアンサー率38% (1910/4994)
データ→フォーム機能を利用されては如何でしょうか。 添付のURLを参考にして下さい。
お礼
早速の返答ありがとうございます。一度試してみます。
お礼
思いのまま作成出来ました。大変お手数を掛けました。マクロもう少し勉強します!!!