
VBA超初心者です。顧客リストを作成中です。
検索フォームと再登録フォームとで分けてユーザーフォームを作っています。
検索フォームのListBox1にはSheet1の顧客データを反映しています。
修正が必要なListBox1の値をDoubleClickし、「再登録フォーム」のTextBoxに値を転記。
ここまでは出来ています。
再登録フォーム内のTextBoxでデータを修正し、再登録ボタンを押して再度Sheet1の同じ箇所に収めたいです。現時点では再登録ボタンを押すとSheet1の1行目に上書きされてしまい困っています。
自分なりにやってみましたが先に進めず挫折寸前です。
どうかご教示願います。
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
With ListBox1
a = .ListIndex '選択した行番号を取得
再登録フォーム.実施日TextBox.Text = .List(a, 0)
再登録フォーム.団体名TextBox.Text = .List(a, 1)
再登録フォーム.幹事名TextBox.Text = .List(a, 2)
再登録フォーム.所属先TextBox.Text = .List(a, 3)
再登録フォーム.役職TextBox.Text = .List(a, 4)
再登録フォーム.郵便番号TextBox.Text = .List(a, 5)
再登録フォーム.住所TextBox.Text = .List(a, 6)
再登録フォーム.TELTextBox.Text = .List(a, 7)
再登録フォーム.FAXTextBox.Text = .List(a, 8)
再登録フォーム.携帯TextBox.Text = .List(a, 9)
再登録フォーム.Show
End With
End Sub
No.3ベストアンサー
- 回答日時:
こんばんは
既にある回答と重複しますが、
ListBox1はどのように作成していますか?
ListBox1リストの作り方にもよりますが
作成時の行№と 変数a の差異はどのような値でしょうか?
セルからループなどで取得している場合
差異=.ListIndexが0の時に入るデータの行№
再登録ボタン
worksheets("Sheet1").cells(a+(差異),カラム1).value=再登録フォーム.実施日TextBox.Text
変数aを使用するのならモジュールレベル変数で宣言かな・・
不特定セルから加工(一定でない範囲)などを行って、条件によって取得している場合は、加工方法により違ってきますので リスト登録した時の(変更前の)値を変数(配列)などに入れ、その値で対象範囲をFindで探すとか、
または、ListBox取得時のRangeを同様にモジュールレベル変数で記録して出力するとか・・少し面倒ですかね
No.2
- 回答日時:
こんばんは。
シートに上書きされてしまう部分のコードと、Listにセルのデータを取り込む
部分のコードがないので、推測になりますが、
シートからListに登録した時の情報が.ListIndexと同じ様なら、この値を
もとに、cells(.ListIndex+〇,列).Value = "保存したいデータ"の様な記載で
できるのでは?と思います。 〇は、1行目はタイトルになる事が多いのと、
Indexは0から始まるかと思うので、+2とかになるのかな?と思います。
ここは、質問者さんのシートのレイアウトなどで変わってくるので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
確定申告しなかった・無申告の人をどうやって見つけるのか元国税調査官に聞いてみた
無申告の方などを対象に税務調査を行う国税局の元税務調査官さんに、どう無申告を探すのか聞いてきました。
-
リストボックスをクリックすると、他フォームに値代入
Excel(エクセル)
-
エクセルVBAリストボックスに表示された検索結果をクリックして、該当するセルをアクティブセルにしたい
Excel(エクセル)
-
VBAで指定期間の範囲を抽出し、リストボックスに表示したいです。
Visual Basic(VBA)
-
4
VBA。リストボックスの値を別のユーザーフォームのテキストボックスに反映したい。
Access(アクセス)
-
5
VBAでtxtファイルを読み込む際にtabを認識したい
Visual Basic(VBA)
-
6
VBA CSV取り込みについて
Visual Basic(VBA)
-
7
VBA 過去のファイル内の同じオブジェクトを一括削除
Visual Basic(VBA)
-
8
excel vba で押してください。(changeイベント)
Visual Basic(VBA)
-
9
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
10
【Excel VBA】表の列の値毎に分割するには?(値がブックのファイル名)
Visual Basic(VBA)
-
11
【VBA】ユーザーフォームを使った検索フォームについて
Visual Basic(VBA)
-
12
超難 日付に対するクロス集計
Visual Basic(VBA)
-
13
複数のcsvをVBAでマージする方法をご教示ください!
Visual Basic(VBA)
-
14
サブフォルダ含むすべてのフォルダの Excel 検索
Visual Basic(VBA)
-
15
各月の件数を取り出したい
Visual Basic(VBA)
-
16
リストボックスについて
Excel(エクセル)
-
17
VBAで、オートフィルタで非表示になっている行の高さを取得したい
Visual Basic(VBA)
-
18
VBAの質問です msg = ws.Cells(r, A").Value & "日に" & ws."
Visual Basic(VBA)
-
19
【関数orVBA】カーソルのある行を黄色にし、A列の値を別シートに表示できますか?
Visual Basic(VBA)
-
20
VBA RemoveDuplicatesで「アプリケーション定義またはオブジェクト定義のエラーです」
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
VBA リストボックスをダブルク...
-
5
メッセージボックスの背景色
-
6
リストボックスの選択解除
-
7
アクセス フォームが存在する...
-
8
サブフォームのイベント取得
-
9
C# マルチディスプレイにて、...
-
10
ユーザーフォーム上にアイコン...
-
11
サブフォームの行ごとにコンボ...
-
12
C#で作成したDLLをDelphiで呼ぶ...
-
13
VB.NET メッセージボックスが隠...
-
14
ExcelVBAでフォーム内でブック...
-
15
メインフォームからサブフォー...
-
16
フォームで複数のチェックボッ...
-
17
フォーム上の全てのコントロー...
-
18
ディスプレイ解像度より大きな...
-
19
C# 別なフォームへ値を渡す (...
-
20
AccessVBAでサブフォームの値チ...
おすすめ情報
公式facebook
公式twitter