dポイントプレゼントキャンペーン実施中!

添付画像(小さくてすみません)のような動きをする
データベースを作成したいです。

作成の仕方、または参考になりそうなサイトを教えて下さい。
(よくある超ド定番の簡単データベースだと思うのですが、
 検索の仕方が悪いのかなかなか良いサイトを見つけることが出来ませんでした。)

以上、よろしくお願いいたします。

「エクセルで「入力」と「蓄積」の簡単なデー」の質問画像

A 回答 (4件)

so_gooさんのスキルレベルやExcelのバージョンが分からないので回答が難しいんですが、



1.最初はExcelに作った表を直接更新するのでしょうか。

2.次に、Excel2010にはテーブル機能が追加になっているので、直接入力も楽なはずです。

3.入力規則や並べ替え、検索、フィルターなども使いこなす必要があります。

4.VBAの知識があれば、ユーザーフォームを使ってデータ入力、削除や更新ができますが、項目の追加やデータベースとするには元に戻す機能も必要です。これらは結構大変です。初心者レベルの場合、完成させるのは大変でしょう。

5.どうしてもユーザーフォームを使いたい場合は、まだ「フォーム機能」が残っているのでこれを利用する手もあります。確か32項目が上限だったような記憶があります。(B)

>作成の仕方、または参考になりそうなサイトを教えて下さい

6.「住所録」で探してみました。データベースは要は項目が横に並んでいるわけで、データの内容よりも身近な題材にしました。いろいろ応用できるでしょう。最初から完璧を求めないで、地道に機能を積み上げていくべきでしょう。


(A)Excel(エクセル)実用編:住所録の作成例
http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituy …

(B)Excel 2007でフォームからデータを入力する方法
http://121ware.com/qasearch/1007/app/servlet/rel …

(C)エクセルで住所録作成
http://www.becoolusers.com/use/directory0.html


(D)Excel住所録 作成の落とし穴--こんな住所録作っちゃイカ~ン
http://kokoro.kir.jp/know/meibo.html

添付図は、フォーム(Tフォーム)を表示してみました。お世辞にも使いやすいとは言えませんが。。。

ご参考に。
「エクセルで「入力」と「蓄積」の簡単なデー」の回答画像4
    • good
    • 0

こんばんは!



当方であれば↓のような感じでユーザーフォームにテキストボックスを配置し、
コマンドボタンをクリックでSheetの最終行以降に追記する方法にします。

ココでコードを記載してもおそらく意味のないものになると思いますので、
興味があれば「ユーザーフォーム」で検索してみてください。

流れとしては Sheetにコマンドボタンを配置 → ユーザーフォームを立ち上げ → 
テキストボックスに入力 → コマンドボタン1(更新ボタン)でSheetに追記(A列最終行の一つ下を選択)
もし、A列「更新」セルがアクティブな状態でコマンドボタンをクリック → ユーザーフォームに
その行のデータを表示させる
といった操作でその行のデータ修正も可能です。

あくまで一案で、お役に立たないと思いますが
この程度でごめんなさいね。m(_ _)m
「エクセルで「入力」と「蓄積」の簡単なデー」の回答画像3
    • good
    • 3

データベースシートを直接更新すればいいじゃないですか。

    • good
    • 0

どんだけメンドクサイというご相談ですね。




1.ブックの準備
「データベース」という名前のシートを用意する
「入力」という名前のシートを用意する


2.データベースシートの用意
A列からリストを用意する
B列の案件No列にはセルの書式設定の表示形式のユーザー定義で
0000
と設定しておく
フォームのコマンドボタンを配置、次のマクロを標準モジュールに用意、登録する

sub 新規追加
 worksheets("入力").select
 range("B1") = application.max(worksheets("データベース").range("B:B")) + 1
 range("B2:B4").clearcontents
 range("B2").select
end sub


3.入力シートの用意
A1以下に「案件No」「顧客名」「受注日」「担当」と記入しておく
入力欄をてきとーに枠線で囲って見た目良く整えておく
B1セルの書式設定の表示形式のユーザー定義で
0000
と設定しておく

「アクティブXコントロール」(コントロールツールボックス)のコマンドボタンを1個配置しておく


シート名タブを右クリック、コードの表示を選ぶ
現れたシートに下記をコピー貼り付ける

private sub Worksheet_Change(byval Target as excel.range)
 dim r as long
 with worksheets("データベース")
 if target.address = "$B$1" then
  if range("B1").value > application.max(.range("B:B")) then
   me.commandbutton1.caption = "追 加"
  else
   me.commandbutton1.caption = "更 新"
   r = application.match(range("B1").value, .range("B:B"), 0)
   range("B2") = .cells(r, "C").value
   range("B3") = .cells(r, "D").value
   range("B4") = .cells(r, "E").value
  end if
 end if
 end with
end sub

private sub CommandButton1_Click()
 dim r as long
 with worksheets("データベース")
 if range("B1").value > application.max(.range("B:B")) then
  .cells(rows.count, "B").end(xlup).offset(1) = range("B1").value
 end if
 r = application.match(range("B1").value, .range("B:B"), 0)
 .cells(r, "C") = range("B2").value
 .cells(r, "D") = range("B3").value
 .cells(r, "E") = range("B4").value
 end with
 worksheets("データベース").select
end sub


とりあえず手順は以上です。
それなりの手数なので、間違えないよう一つずつ気を付けて、上手くいくまで確認しながら作成してください。


#何がメンドクサイって、何をどうしたらどうなって欲しいのか、言い換えるとどんなマクロを準備する必要があるのか、その内でご自分で判らないのは一体どこなのか、そういった事を全部丸投げにして回答者にイチから全部説明させることです。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています