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

ExcelVBAでユーザーフォームでテキストボックスなどからセルに連続して入力するコーディングの際の命名規則や考え方について

やりたいことは、
ユーザーフォーム(テキストボックスやコンボボックス、オプションボタンを配置)20項目程あるとして、「入力」ボタンを押すと、項目の内容をセルに転記すること

解決したい事は、
テキストボックスやコンボボックス、オプションボタンがあるので転記する際に沢山コードを書くことになってしまっているので、命名規則やコードの考え方を変えてコーディングしたい。

現在の例
cells(1,1).value = cb_立ち上がり自立度
cells(1,2).value = tb_立ち上がり介助内容
if opb_立ち上がり_介助_1 = true then
cells(1,3).value = "あり"
else
cells(1,3).value = "なし"
end if
上記のようなコードが寝返り、立ち上がり、車椅子への移乗などと項目が繰り返されます。

命名規則を変えるとfor文でループできそうですが、オプションボタンが入ってわかりにくくなってしまいました。
アドバイスを頂けないでしょうか?
よろしくお願いします。

A 回答 (2件)

Np.1です。



>ユーザーフォーム(テキストボックスやコンボボックス、オプションボタンを配置)20項目程あるとして、「入力」ボタンを押すと、項目の内容をセルに転記

結局ユーザーフォームの各コントロールとシートの各セルとの関係はBookを見ている質問者さんは把握できてますが、回答者側は例題の『1行でしかも部分的』にしかわかりません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/i …

21 ユーザーフォームを利用する

にある各コントロールを参考にしてみては?
ナンバーリングする事で扱いやすくなると感じられるかも知れませんよ。
    • good
    • 0
この回答へのお礼

めぐみんさん
再度回答頂きありがとうございました。
質問がわかりにくくてすみませんでした。
現在は入力フォームの記述が終わってから「入力」ボタンを押すと各コントロールの内容が転記されるようにしていました。
回答のリンク先を参考にさせて頂いて、先の返信でも少し書きましたが、各コントロールでclickやchangeなど動きがあればセルに転記するスタイルに変更しようと考えました。
ありがとうございました。

お礼日時:2022/06/30 06:29

OptionButtonの配置が不明など素人ですので違うようならスル~っと。



OptionButtonで選択できるのは基本1つですよね?
⇒複数選択可のコーティングされたのなら別ですけど。

なのでまずは『どのOptionButtonがtrueかを調べ、その結果により書き込む値やセル位置を決めるようにしてみるとか?
⇒質問文ではどうしたいのかが読み取れないジジィですが、少なくともコントロール名をナンバーリングさせる事でループで調べられますし。

あと個人的に変数名やコントロール名などに全角文字を使わないですかね。
そんな時代にやり始めたからかもですけど。
まぁ理解しやすいというならそれで良いと思いますよ。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
クリックしたら動作するようにプログラムすることで解決できそうなことに気がつきました。
変数名に関してご指摘ありがとうございます。
独学しながらなので最初に作ったコードで半角英数字にすると英語が苦手な自分が理解できなかったので全角文字にしていました。
今からリファクタリングして半角英数字に変更しようと思います。

お礼日時:2022/06/30 06:20

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