• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:既存の表にデータを追加したい)

既存の表にデータを追加する方法とは?

このQ&Aのポイント
  • 既存の表にデータを追加する方法について教えてください。
  • 表にデータを追加し、履歴を管理したいです。新規の場合はどのように入力すれば良いでしょうか?
  • また、新規の方は生年月日も入力したいと思います。表に直接入力する方法や、カーソル移動の方法も教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.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

araatsu
質問者

お礼

思いのまま作成出来ました。大変お手数を掛けました。マクロもう少し勉強します!!!

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

データ→フォーム機能を利用されては如何でしょうか。 添付のURLを参考にして下さい。

参考URL:
http://edutainment-fun.com/excel/tool/form.html
araatsu
質問者

お礼

早速の返答ありがとうございます。一度試してみます。

関連するQ&A