
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のリストボックスの値を他のフォームに反映させる方法を教えてください。
Visual Basic(VBA)
-
ListBoxを選択したデータ編集② VBA
Visual Basic(VBA)
-
エクセルVBA「リストボックスで選択した値をテキストボックスで変更してシート上セルに反映したい」
Excel(エクセル)
-
-
4
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
5
エクセルVBAリストボックスに表示された検索結果をクリックして、該当するセルをアクティブセルにしたい
Excel(エクセル)
-
6
Excel vba ListBoxについて
Excel(エクセル)
-
7
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
8
EXCEL VBA リストボックスの列を指定してForeColorを変更する方法について
Excel(エクセル)
-
9
EXCELのリストボックスを選択した行が何行目か
その他(プログラミング・Web制作)
-
10
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
11
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
12
リストボックス 何も洗濯されてない場合はNullではなく"?
Visual Basic(VBA)
-
13
Excel VBA ユーザーフォーム 複数のユーザーフォームの閉じ方。
Visual Basic(VBA)
-
14
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
15
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
16
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
17
リストビューの項目の内容を変更する方法は?
Visual Basic(VBA)
-
18
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
19
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
20
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスVBA フォームのス...
-
frm型への代入の仕方について
-
リストボックスの選択解除
-
ACCESS VBAサブフォーム(DATA S...
-
ToolStripStatusLabelを固定し...
-
サブフォームの行ごとにコンボ...
-
Accessでフォームから別フォー...
-
お客様から1MB未満の写真を送っ...
-
VBA リストボックスをダブルク...
-
ユーザーフォーム上にアイコン...
-
Access サブフォームでの複数行...
-
Googleフォーム・複数人の申し...
-
メッセージボックスの背景色
-
メインフォームからサブフォー...
-
Access 無操作の場合、自動で閉...
-
PDFフォームに本日の日付を自動...
-
csvに保存しているデータをURL...
-
VB.net(VB)で、フォームにExcel...
-
フォームのクローズについて
-
ACCESS 表形式フォームで1レ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
お客様から1MB未満の写真を送っ...
-
Googleフォーム・複数人の申し...
-
アクセスVBA フォームのス...
-
VBAにてメッセージボックスを最...
-
VBA リストボックスをダブルク...
-
Accessでフォームから別フォー...
-
PDFフォームに本日の日付を自動...
-
accessで2つ以上のフォームを起...
-
VB.net(VB)で、フォームにExcel...
-
VBプログラムの終了
-
子フォームから親フォームのオ...
-
ExcelVBAでフォーム内でブック...
-
PDFフォーム内で日付計算したい...
-
サブフォームの新規レコードに...
-
メインフォームからサブフォー...
-
リストボックスの選択解除
-
サブフォームの行ごとにコンボ...
-
ASP.NETとC#でWebフォームを呼...
-
dbOpenTableとdbOpenDynaset
-
【ACCESS2003】サブフォーム名...
おすすめ情報