- ベストアンサー
VBA初心者
いつも大変参考にさせて頂いております。 Excel2019にて、マクロボタンを押すと 文字を入力するボックス(ボックスは2つ以上必要)が現れ、そのボックス内に文字を入力すると 所定の別シートの指定セルに文字が入力されるようにしたいのです。 指定セルに直接書き込む事も考えましたが、私で無い人も触るため分かり易く 書き込む箇所が固定されるような方法がよいかと思い、上記の方法を思いつきました。 VBA初歩の質問で申し訳ありませんが、ご教授頂けますと幸いです。 他の方法でも、こういった方法があるなど導いていただくのみでも幸いです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
以下のページを参考にしてください。 第7回.テキストボックス(TextBox)の値をセルへ https://excel-ubara.com/excelvba3/EXCELFORM007.html .Cells(lastRow, 1).Value = Me.txtコード.Text のところを テキストボックスの名前を変えなければ TextBox1とかTextBox2とかになりますから A1に入力させたければ .Cells(1, "A").Value = Me.TextBox1.Text とか .Range("A1").Value = Me.TextBox1.Text にしてください。 ユーザーフォームの作り方は以下のページから Excelユーザーフォーム入門 https://excel-ubara.com/excelvba3/
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17070)
この質問には、>「に文字が入力されるように」、のデータの中身の類型が書いてないのが、欠点です。 (1)平文的な文章 や、あえて下記(2)のケースでも直接入力させるもの (2)箇条書き的な、数個の項目のどれか1つを選ぶようなもの 場合によっては、2段階以上の決定を案内するもの。 ーー (2)ならコンボボックスや、リストボックスその他のコントロール(部品)を使うことが多い。 (VBAでも)入力規則の「リスト」を使う手もあります。 またユーザーフォームの利用もあり得るが、本件では大げさすぎるかと。 ーー >私で無い人も触るため分かり易く 書き込む箇所が固定されるよ 人間の能力は、優れていて、2,3回目利用以後は、案内は「うるさく感じる」に変化するのが普通です。 VBAの勉強だけでなく、こういう人間心理的なことも、よく考慮するべきでしょう。 ーー 小生は、簡単に、下記を考えてみました。 さらにボタンのタイトルやボタンの配置場所も(自然に目が行くように)十分工夫すべきでしょう。 Sub ボタン1_Click() MsgBox "Sheet1のD2セルに,XXXデータを入力してください """ Worksheets("Sheet1").Range("D2").Select End Sub ーー まず、そのシートを開いたときに必ず入れるべきデータなら、シートの Private Sub Worksheet_Activate() End Sub を使う方法なども思いつきます。
お礼
ご回答と、質問文に対してのご意見もいただき誠にありがとうございます。 ボックスの使い方なども参考になります。ありがとうございます。 私も使う人間がどのように扱うか・継続して使えるかの心理的な部分が大変重要な気がしています。 また、見掛けて頂いた際はご助力いただけると幸いです。
- kkkkkm
- ベストアンサー率66% (1742/2617)
単純なユーザーフォームを作るのが面倒という意見を初めて見ましたが、面倒でしたらシートの保護で入力するセル以外は選択できないようにしておけばいいですね。
お礼
追加の こういった方法もあるよ という情報ありがとうございます。 大変参考になります。先ほど頂いた方法・参考サイトは読ませて頂いており扱えるようになってから、お礼をさせて頂く予定でおります。 私にとっては色んな方法がある方が助かりますので、他の方法の考えも残して頂けると幸いです。
- sknbsknb2
- ベストアンサー率38% (1158/3037)
自分なら、フォームとか作るのが面倒なので、下記のようにします。 (1) 特定のシートの特定のセル(左上とかのわかりやすい場所)に値を入れてもらうことにする (2) (1)で入力してもらうセルから必要なセルへのコピー作業をマクロで記述する(マクロ記録でOK) (3) (2)のマクロをボタンに割り当てて、(1)の入力後に押してもらうようにする
お礼
ご回答いただきありがとうございました。 フォームを用意しない分、用意する側も操作する側も工程が減り便利ですね。。 今回は 私でない人間が触る場合も考慮して考えてみます。 また見掛けて頂いた際にご教示頂けると幸いです。
- kkkkkm
- ベストアンサー率66% (1742/2617)
No.1の補足です。 InputBoxという方法もありますが必要なボックスが複数ですし、作業する人が不慣れな方だとかでしたらユーザーフォームがいいと思います。 第24回.インプットボックス(InputBox関数) https://excel-ubara.com/excelvba1/EXCELVBA324.html
お礼
ありがとうございます。
お礼
ご回答いただきありがとうございます。 フォームは敷居が高い気がして使う事を避けていました。 しかし、いざ見て触ってみて新しく引き出しを増やす事が出来ました。 今回は 私以外のものが触るため、フォームに必要情報を入力する という手間が上手く効きつかう人間が長く使ってくれるような気がします。 また見掛けて頂いた際はよろしくお願いします。