- ベストアンサー
ExcelのVBAについて(2)
ExcelのVBAについて(2) 以下にIF文の中核文の箇所がありますが、うまく動きません。 …………… cells(ListBox1.List(a),ListBox2.List(b)).Value = UserForm1.TextBox2 …………… 上手く動かすプログラム例など参考ページなどありましたら教えてください。 追記、参考情報などありましたら、基本コードの例などのページを教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 以下にIF文の中核文の箇所がありますが、うまく動きません。 a及びbに正しい値が代入されてTextBox2になにかしらのデータがあれば ListBox1のリストのa+1番目の行、ListBox2のリストのb+1番目の列にTextBox2のデータが表示されるはずです。(a+1番目,b+1番目はリストで選択された値ではなくリストの先頭から数えて何番目かの値です)
その他の回答 (1)
- kkkkkm
- ベストアンサー率66% (1742/2617)
回答No.2
VBAについて参考になるかもしれないサイトです。 Excel VBA 入門講座へようこそ!! http://excelvba.pc-users.net/index.html エクセルの神髄 ExcelマクロVBA入門 https://excel-ubara.com/excelvba1/ Excel VBA入門 https://www.officepro.jp/excelvba/
質問者
補足
目からウロコですね。各々の一覧表などあれば最高です。 この設定さえ出来れば基本的には初期段階のは出来上がります。 基本がおろそかというか、できる範囲がまるで分からないのでやはりプロパティやメソッドなど紙の一覧表は欲しいな。。
お礼
ElseIFでなくandにしたところ、、転記できました。ありがとうございます。
補足
IF文はFor~Next文の中にありますが、このForの所をテキトーに書いたのがよくなかったのか、それともIF文に間違いがあるのかリストに表示こそされますが、TextBox1の数値は指定のセルに書き込まれません。問題箇所は特定できていて、ListBox2の部分です。 If ListBox1.selected(a) Then cells(ListBox1.List(a),39).Value = UserForm1.TextBox2 End If 場合は問題ありません。 しかし、 If ListBox1.selected(a) Then ElseIf ListBox2.selected(b) Then cells(ListBox1.List(a),ListBox2.List(b)).Value = UserForm1.TextBox2 End If この場合にはエラーだらけになります。