プロが教えるわが家の防犯対策術!

いつもお世話になっております
遣りたいこと。

①ListBox1_ClickをクリックしてTextBox1 TextBox2 にそれぞれ売上日と商品名を表示させます。

Private Sub ListBox1_Click()
Dim i As Long
For i = 1 To 2
Controls("TextBox" & i).Value = ListBox1.List(ListBox1.ListIndex, i - 1)
Next
End Sub
これはできました。


②TextBox1 TextBox2 に表示された内容を編集したい場合
 編集ボタンを押したらTextBox1 TextBox2が編集できるようにしたいです。

しらべていますが、いまのところわかりません。

③TextBox1 TextBox2の内容を編集したらセルの値も
 更新ボタンをおして完了にしたいです。

下記のコードはListBox1が更新されますが、セルの値も更新できるように
するにはどうしたらよいのですか。

  Me.ListBox1.Column(0) = Me.TextBox1.Value
  Me.ListBox1.Column(1) = Format(Me.TextBox2.Value, "yyyy\年mm\月dd\日aaaa")
これは先日、頂戴致しましたコードで対応しました。有難うございます。

おしえてくれませんでしょうか
よろしくお願いいたします。

「ListBoxを選択したデータ編集② V」の質問画像

質問者からの補足コメント

  • ②TextBox1 TextBox2 に表示された内容を編集したい場合
     編集ボタンを押したらTextBox1 TextBox2が編集できるようにしたいです。
    TextBox1.Enabled = Not TextBox1.Enabled

    ②は解決致しました。

      補足日時:2020/07/14 13:32

A 回答 (2件)

No.1です。



そもそもあの回答はListBoxを更新した際のインデックスが不明なので、ListBoxのリストの『どの行が』変更されたかがわからない為です。
どのインデックスのデータを書き換えたかを把握できる仕組みなら、そのNoを基にセルの行数を求める事は可能でしょう。

全体としてどのような仕様にしていくのか?について決めて始める方が良いかもですよ。
    • good
    • 0
この回答へのお礼

いつも有難うございます。
わたしなりに考えていろいろネット検索して
できました。
かなり心がおれそうになりましたが、
最初のコートをじっくり考えたほうが
早かったです。
有難うございます。

お礼日時:2020/07/15 22:21

ここまでに至った経緯は全て把握できている訳ではないですが。



>下記のコードはListBox1が更新されます

のであれば、セルのデータ範囲(A・B列)を一旦削除した後にListBoxのリストから全てを抜き出して代入すればダメなのですか?
    • good
    • 0
この回答へのお礼

いつも有難うございます。
そういうことですか
わかりました、やってみます。

お礼日時:2020/07/15 16:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています