
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ランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
エクセル
-
エクセルの循環参照、?
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】WEBシステムから保存...
-
【マクロ】A列にある、日付(本...
-
【マクロ】アクティブセルの時...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】別のブックから、フ...
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】3行に上から下に並...
-
【エクセル】期限アラートについて
-
【関数】同じ関数なのに、エラ...
-
VBA チェックボックスをオーバ...
-
Excelの新しい空白のブックを開...
-
Excelファイルを開くと私だけVA...
-
マクロ・VBAで、当該ファイルの...
-
Excelについての質問です 並べ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報