- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA初心者です。)
エクセルVBA初心者のためのセル上書き方法
このQ&Aのポイント
- エクセルVBA初心者がユーザーフォームを使ったセルの上書き方法について質問しています。
- 質問者はリストボックスを使用し、セルの内容を上書きする方法を知りたいとしています。
- 具体的な例として、「みかん」という文字を選択し、テキストボックス1に「バナナ」、テキストボックス2に「3」と入力すると、指定のセルが「バナナ 3」となるようにしたいとのことです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
質問の表と提示されているコードが矛盾しているので 説明しにくいので、質問の表で流れの説明をします userform1が表示されている状態から userform1のlistbox1のlistから「みかん」を選択 commandbutton1をclick ここで >Unload UserForm1 するのではなく userform1.hide で非表示にする事により 表示はされていないが、userform1の値が参照できる userform2の表示 textbox1及びtextbox2を変更する commandbutton1をclick(説明に無いのでclickで上書き処理とします) 表の先頭がセルA1ですので、セルA1を基準にする listboxの選択行をlistindexで取得すると先頭行は0、2行目は1・・ の様に 選択行-1 となるのを利用しoffsetで入力セルを求める range("a1").offset(userform1.listbox1.listindex).value=userform2.textbox1.value これで、セルA2の「みかん」部分の上書きができる range("a1").offset(userform1.listbox1.listindex,1).value=userform2.textbox2.value セルB2の数字の部分の上書きをします 以上、参考まで
お礼
問題は解決しました。説明等、つたない点があったのにも関わらず、丁寧なご説明、ありがとうございましたm(__)m