
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.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フォーム)を表示してみました。お世辞にも使いやすいとは言えませんが。。。
ご参考に。

No.3
- 回答日時:
こんばんは!
当方であれば↓のような感じでユーザーフォームにテキストボックスを配置し、
コマンドボタンをクリックでSheetの最終行以降に追記する方法にします。
ココでコードを記載してもおそらく意味のないものになると思いますので、
興味があれば「ユーザーフォーム」で検索してみてください。
流れとしては Sheetにコマンドボタンを配置 → ユーザーフォームを立ち上げ →
テキストボックスに入力 → コマンドボタン1(更新ボタン)でSheetに追記(A列最終行の一つ下を選択)
もし、A列「更新」セルがアクティブな状態でコマンドボタンをクリック → ユーザーフォームに
その行のデータを表示させる
といった操作でその行のデータ修正も可能です。
あくまで一案で、お役に立たないと思いますが
この程度でごめんなさいね。m(_ _)m

No.1
- 回答日時:
どんだけメンドクサイというご相談ですね。
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
とりあえず手順は以上です。
それなりの手数なので、間違えないよう一つずつ気を付けて、上手くいくまで確認しながら作成してください。
#何がメンドクサイって、何をどうしたらどうなって欲しいのか、言い換えるとどんなマクロを準備する必要があるのか、その内でご自分で判らないのは一体どこなのか、そういった事を全部丸投げにして回答者にイチから全部説明させることです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで、Scroll Lockと同じ...
-
エクセルでフィルターした値を...
-
エクセルに写真が貼れない(フ...
-
表計算ソフトでの様式の呼称
-
エクセルのVBAで集計をしたい
-
【画像あり】【関数】指定した...
-
エクセルのライセンスが分かり...
-
【マクロ】実行時エラー '424':...
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
Dir関数のDo Whileステートメン...
-
【マクロ】【画像あり】4つの...
-
ページが変なふうに切れる
-
【マクロ】【画像あり】ファイ...
-
エクセルシートの見出しの文字...
-
EXCELのVBAで複数のシートを追...
-
【マクロ】【画像あり】❶ブック...
-
空白のはずがSUBTOTAL関数でカ...
-
【関数】=EXACT(a1,b1) a1とb1...
-
グループごとの個数をカウント...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報