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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- 求人情報・採用情報 今日、ホテルのアルバイトに、タウンワークから応募しました。 すると、会社からGメールが届き、事前登録 1 2022/03/31 23:40
- その他(パソコン・スマホ・電化製品) ASUSの保証期間が短い 2 2023/05/02 11:53
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。
Visual Basic(VBA)
-
vba Listviewでのチェックボックスのイベントを教えてください
Excel(エクセル)
-
エクセルVBAリストボックスに表示された検索結果をクリックして、該当するセルをアクティブセルにしたい
Excel(エクセル)
-
-
4
ListBoxを選択したデータ編集② VBA
Visual Basic(VBA)
-
5
VBA。リストボックスの値を別のユーザーフォームのテキストボックスに反映したい。
Access(アクセス)
-
6
リストボックスをクリックすると、他フォームに値代入
Excel(エクセル)
-
7
UserForm1.Showでエラーになります。
工学
-
8
VBAのリストボックスをマウスでスクロール
PowerPoint(パワーポイント)
-
9
EXCEL VBA ListViewについて
Excel(エクセル)
-
10
抽出したデータを修正して元のセルに上書きしたい
Access(アクセス)
-
11
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
12
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
13
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
14
ExcelのComboboxでマウスのスクロールを有効にしたい
Excel(エクセル)
-
15
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
16
ユーザーフォーム スクロールバー 非表示にしたい
Excel(エクセル)
-
17
エクセルVBA「リストボックスで選択した値をテキストボックスで変更してシート上セルに反映したい」
Excel(エクセル)
-
18
vba listviewにおけるtextのAlingmentを中央にしたい
Excel(エクセル)
-
19
検索結果をListviewさせる方法
Visual Basic(VBA)
-
20
ListViewの複数選択について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleフォーム・複数人の申し...
-
VBプログラムの終了
-
Accessでフォームから別フォー...
-
VBA リストボックスをダブルク...
-
VBAでフォームのスクロールバー...
-
Google form を利用して 問い合...
-
VBのEXEファイルのサイズを小さ...
-
ユーザーフォーム上にアイコン...
-
PDFフォームに本日の日付を自動...
-
サブフォームの新規レコードに...
-
C#でフォームのコピーをしたい
-
csvに保存しているデータをURL...
-
access開いているフォームのモ...
-
VBAにてメッセージボックスを最...
-
【VC++2005(CLR)】フォームを閉...
-
VB.net(VB)で、フォームにExcel...
-
Accessの出荷管理DBで製造番号...
-
Access サブフォームでの複数行...
-
ToolStripStatusLabelを固定し...
-
アクセスVBA フォームのス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAにてメッセージボックスを最...
-
リストボックスの選択解除
-
Googleフォーム・複数人の申し...
-
サブフォームの新規レコードに...
-
Accessでフォームから別フォー...
-
メッセージボックスの背景色
-
PDFフォームに本日の日付を自動...
-
accessで2つ以上のフォームを起...
-
VB.net(VB)で、フォームにExcel...
-
筋トレ初心者です。 ジムでひた...
-
Access 無操作の場合、自動で閉...
-
サブフォームのイベント取得
-
サブフォームの行ごとにコンボ...
-
VBプログラムの終了
-
ユーザーフォーム上にアイコン...
-
アクセスVBA フォームのス...
-
ディスプレイ解像度より大きな...
-
PDFフォーム内で日付計算したい...
-
フォーム上の全てのコントロー...
-
VBAでフォームのスクロールバー...
おすすめ情報