タイトルの通り、入力フォーム(UserForm1)を作成してデータベースに
データを登録できるようにしました。
①
A B C
1 会員番号 名前 クラス
2 0001 佐藤達也 A1
3 0002 鈴木誠 B2
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
②
A B C
1 会員番号 名前 クラス
2 0001 佐藤達也 C3
3 0002 鈴木誠 D6
この場合、新しく変更フォーム(UserForm2)を作成し、
フォーム上にデータを呼び出し、変更したいと考えています。
方法としては
①つは入力フォームと同様の画面設定で全体を呼び出し、打ち込み直して、
同じセルに代入するのが一つかなと思います。
②つ目は変更したい項目のみ呼び出して変更するフォームを作って変更する
できれば、②目つ目が一番良いのですが、フォームを呼び出して変更するような
ものが調べて見ましたが、見つかりませんでした。
どなたか教えて頂けると助かります。よろしくお願い致します。
No.1
- 回答日時:
添付の図のようなformを作り、
①会員番号を指定して、検索ボタンをクリックすると、
会員番号に一致した名前、クラスを表示する。
②表示した名前、クラスを人間が変更する。(クラスをC3とかD6とかに変更)
③更新ボタンをクリックすると、変更された名前、クラスで、該当会員番号の箇所を更新する。
(会員番号が変更された場合はエラーにする)
上記のようなつくりにしてはいかがでしょうか。
回答ありがとうございます!わかりやすいです。
一転情報が不足していました。
実際は項目数は30個ほどでで多くて、混乱しやすいかもです。
なので、フォームを分割して項目数/フォームを減らすか、
②のように項目選択してから変更かなと迷い中です。
結果的には、全部変更可能ではなくてはならないのがネックです。
No.2ベストアンサー
- 回答日時:
以下の方法は、昔、人から教わった方法で、ControlSource を使います。
以外と便利な方法です。画像をみて、イメージしてください。'------------------------
Dim rwIdx As Long 'モジュール変数(画面のトップに)
Dim clIdx As Long
Private Sub ComboBox1_Change()
rwIdx = ComboBox1.ListIndex + 2
End Sub
Private Sub ListBox1_Change()
Dim i As Long
For i = 0 To Me.ListBox1.ListCount
If Me.ListBox1.Selected(i) Then
clIdx = i + 1
Exit For
End If
Next
End Sub
Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'ListBox クリック
If rwIdx > 0 And clIdx > 0 Then
TextBox1.ControlSource = Cells(rwIdx, clIdx).Address 'コントロールソース
ListBox1.ListIndex = -1
End If
End Sub
Private Sub UserForm_Initialize()
Dim clAry
Me.ListBox1.List = Array("会員番号", "名前", "クラス")
'必要に応じて加えてください。
clAry = Range("A2", Cells(Rows.Count, 1).End(xlUp)).Value
clAry = Application.Transpose(clAry)
Me.ComboBox1.List = clAry
TextBox1.Value = ""
End Sub
'//
細かい部分は、まだ修正が必要かもしれません。
回答ありがとうございます。選択して変更できるんですね!
コントロールソースですか、初めてのVBAでまだわからないことだらけですが、試してみます。大事なデータなので、あとはボタンクリックとか、
確認して実行できるように追記してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- Access(アクセス) マイクロソフト アクセス2021のフォームビュー作成でレイアウトを帳票形式から単票形式にあとから変更 1 2023/03/03 10:56
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3年間同じクラスになる確率
-
配列の重複する値とその個数を...
-
「天声人語」をインターネット...
-
グローバルIPとプライベートIP...
-
java eclipse 型に解決できません
-
string formatについて
-
同じクラスにならない確率を教...
-
同一パッケージにあるクラスが...
-
自作のクラスファイルがインポ...
-
「自作クラスの型」にキャスト...
-
意味の違いを教えてください Sh...
-
A・B・Cクラスとは?
-
標準モジュールとクラスモジュ...
-
JSPでclassのimport
-
Java「デフォルトのパッケージ...
-
どこからも呼ばれていない無意...
-
クラスのプロパティに構造体を...
-
JSP jsp:usebean で総称型クラ...
-
クラスの継承でメンバ変数が・・
-
UMLのクラス図はmain()も含むん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
河合塾のクラス分けについて
-
同じクラスにならない確率を教...
-
3年間同じクラスになる確率
-
「天声人語」をインターネット...
-
グローバルIPとプライベートIP...
-
配列の重複する値とその個数を...
-
java eclipse 型に解決できません
-
同一パッケージにあるクラスが...
-
私はクラスLINEにまだ入れてな...
-
老い先短い ジジィ が ふと 思う...
-
自作のクラスファイルがインポ...
-
どこからも呼ばれていない無意...
-
main()を持つクラスが2つ以上...
-
数学の計算問題。 3年間同じク...
-
クラス見てから 女の子5人 ネタ...
-
javaのコンパイルができません...
-
1 つのヘッダファイルに複数の...
-
重複エラーを解決するには
-
IPアドレスの3バイト目の呼び方
-
packageとimport の違いって?
おすすめ情報