• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBA ユーザーフォームについて)

EXCEL VBA ユーザーフォームについて

maverik1226の回答

回答No.3

nightquest 様 こんな感じでどうでしょうか?思いと違ったらスイマセン。 Private Sub CommandButton1_Click() With Sheets("日にち") 'チェックボックスにチェックがしてあったら○する If CheckBox1.Value Then '←CheckBox1.Value=Trueと同義です .Range("F1").Value = "○" End If If CheckBox2.Value Then 'チェックしてなかったら何もしません .Range("G1").Value = "○" End If 'オプションボタンにチェックがしてあったら○する If OptionButton1.Value Then .Range("L1").Value = "○" End If If OptionButton2.Value Then .Range("M1").Value = "○" End If End With '2つの行に入力するパターン With Sheets("日にち") .Range("C1").Value = TextBox1.Value .Range("D1").Value = TextBox1.Value End With '「1日」と「2日」のシートに同じ事を入力するパターン With Sheets("1日") .Range("C1").Value = TextBox1.Value .Range("D1").Value = TextBox1.Value End With With Sheets("2日") .Range("C1").Value = TextBox1.Value .Range("D1").Value = TextBox1.Value End With 'フォームを閉じる Unload Me 'もしくはUnload UserForm1でも同義 End Sub

nightquest
質問者

補足

お世話になっております。 早速のご返事ありがとうございます。 無事チェックボックス、オプションボタンの"○"成功しました! そして「フォームを閉じる」も見事に成功いたしました。 ありがとうございます。 あと、私の質問の仕方が悪かったのですが、 たとえば、1の行を入力した後、7の行、3の行と入力する行が連続して変わります。 入力する列はフォームの記載のアルファベットなのですが、行はダブルクリックして入力フォームを出した行になります。 そして次の日には2日(シート2)も同じようにしたいのですが、1日(シート1)に記載されてしまいます。 やることは同じ作業なのですが、入力「行」がダブルクリックした行、次の日にはシート2、その次の日にはシート3と、シート31まで毎日同じフォーマットのものを入力していきます。 なにかよい方法はありますでしょうか? 毎回下手な質問とお願いが多くて申し訳ございません。

関連するQ&A

  • ユーザーフォーム上のボタンの使い方

    今、VBAの本とインターネットで調べながら初めてユーザーフォームを作成中ですが、 どうしてもわからないことがあり、ご質問させていただきました。 初歩的なことかも知れませんが、ご教授よろしくお願い致します。 1.オプションボタンを二つ作成しました。  一方を選択した場合、フレーム全体をグレーアウトに  することはできますか。  例)ユーザーフォーム上のオプションボタン  A:住所登録   (郵便番号・所在地等を入力)  B:電話番号登録 (電話番号を入力) ※Bをオプションボタンで選択した場合、Aのフレーム全体を  グレーアウト(入力禁止)にすることはできますか。 2.ComboBoxで"年"、"月"、"日"それぞれプルダウンで選択できるように  したのですが、ワークシートに反映する時、同一セルに入力するか、  それらの数字を認識して日付として一つのセルに表示することはできますか。  例)ユーザーフォーム上    2007▼年   4▼月  19▼日  ※一つのセルに“2007年4月19日”と表示することはできますか。 3.2.の続きで、"年"、"月"、"日"すべて選択している場合、  チェックボックスにチェックが入り、どれか一つでも空白の場合は  チェックボックスがグレーアウトしている、という状態はできますか。 4.ユーザーフォームで入力した内容がExcel上にどんどん   追加していく時のマクロはどのように記述したらいいのですか。  (ユーザーフォームに入力した内容を、セルを指定せずにどんどん  追記していく方法) 質問が多くて申し訳ございませんが、よろしくお願い致します。

  • VBAのユーザーフォーム・・

    教えてください。 ユーザーフォームのテキストボックス・コンボボックスに入力した文字列をコマンドボタンを押したら、セルC1・B1に反映させたいのですが、できません。 このコマンドボタンには他のプログラムも入っており、同時にプログラムを実行したいのですが。

  • エクセルのユーザーフォームについての質問です。

    エクセルのユーザーフォームについての質問です。 かなりの初心者です。 テキストボックスを3つ、チェックボックスを10個作りました。 チェックボックスは複数チェックすることができます。 コマンドボタンをクリックすると、テキストボックスに入力された値とチェックされた チェックボックスがsheet1に自動入力できるようにしたいです。 たとえば、 テキストボックス1には「あいう」 テキストボックス2には「かきく」 テキストボックス3には「さしす」と入力。 チェックボックス1から10のうち、「1」「2」「3」にチェック。 この状態でコマンドボタンをクリックすると、Sheet1には     A列       B列       C列        D列 1行目 テキスト1    テキスト2    テキスト3     チェックボックス 2行目 あいう      かきく      さしす       1 3行目 あいう      かきく      さしす       2 4行目 あいう      かきく      さしす       3 このように、チェックボックスにチェックがあった数だけ、テキストボックスも コピーされて、次々と下の行に入って行くようにしたいのです。 こんなことができるのでしょうか? できるのなら、コードを教えてください。 お願いします。

  • VBAユーザーフォームの操作について

    いつもお世話になっております。 VBAでユーザーフォームのチェックボックス使用したデータを作成しています。 ●ユーザーフォームの仕様  1.各県名ごとにフレームを作成し、フレーム内に市名と全選択のチェックボックスを配置  2.各フレームの全選択のチェックボックスにチェックを入れると、フレーム内の市名のチェックボックスにチェックが入る  3.フレーム外の全選択のチェックボックスにチェックを入れると、全チェックボックスにチェックが入る。 ●オブジェクト名 ・フレーム  Frame1:神奈川県 Frame2:茨城県 Frame3:栃木県 ・チェックボックス  CheckBox1:フレーム外の全選択  CheckBox2~4:各フレームの全選択  CheckBox5~11:市町村名(横浜市~小山市の順) ●プロシージャ 1つ1つの動作をIFステートメントを使って記述しています。 ※IFの中身については、チェックボックスの数がもっと多ければ For Nextなんかを使ってもっとスッキリできますが、今回は数か少ないので羅列しています。 以上に関して、貼付ファイルのようなコードを記述してみました 一応仕様を満足する動作はしてくれるようですが・・・ ご指摘がありましたら、よろしくお願いします。

  • ExcelのVBAで選択したフォームデータの維持

    フォームでコンボボックスの内容をInitialize()にaddItemで記入すると、フォームを閉じて、改めて開くと、初期化されてしまいます。 これを、改めて開いたときにも、前回指定した内容が保持されていて、フォーム上のリセットボタンを押すまで初期化されない方法をご教示ください。 もし、ファイルを閉じても選択内容を保持できる方法があれば、合わせてご教示頂けたら幸いです。 使うアイテムは、コンボボックスとチェックボックスとして、各アイテムを選択した後、OKボタンを押して、その内容をセルに反映させ、リセットボタンで初期化することを想定しています。 よろしくお願いいたします。

  • ユーザーフォームいろいろについて

    いろいろ手探りでVBAでユーザーフォームを作成し コマンドボックスによりテキストボックスを指定のセルへ転記し ユーザーフォームを終了させるという簡単ですがプログラミングをしました。 さらに、下記のことができたらと思ってるのですがどうしたら良いのかわかりません。 1.2種類のユーザーフォームを作成し、ファイルを開くと  選択肢ウィンドウが現れ選択したほうのユーザーフォームが開く 2.チェックボックスまたはラジオボタンで選択された項目を  指定のセルへ○を反映させたい。 以上のことを加えたいのですが、できますでしょうか。 つたない説明ですが御回答の程宜しくお願い致します。

  • エクセルVBAのチェックボックスの使い方について

    初心者です。 ユーザーフォーム中で、6個のチェックボックスと3個のオプションボタンから、帳票を作成しようと思っています。 例  □check1□check2□check3□chechk4□check5(フレーム1) □check6○op1○op2○op3(フレーム1内、フレーム2) この状況から、□check1~6の内4個まで選択可能で□checkが選択されたら、順番に他のセルからセルa1、a4、a7、a10に転記する。(1個ならa1のみでa2に"文字"を記入)また、□check6のチェックでop1~op3→Enabled = TrueとしてActiveSheet.Shapes("グループオブジェクト").Select→移動(コピー)としたい。 if check1.Value = True Then文、celect case文等使用してみましたが思うようにいきません。ご指導願います。

  • エクセルのユーザーフォームのことです

    はじめまして。よろしくお願いします。 エクセルで、リストを作成しようと思っています。内容は、顧客名簿で、A名前、B住所、CからEまでははじめから項目があって、それに該当するものにチェックを入れる。項目とは、C医療、D教育、E学校という項目です。ユーザーフォームでテキストボックスを2つとチェックボックスを3つ、その他に確定ボタン、閉じるボタンを付けました。ユーザーフォームの名前住所に文字を入れ、チェックボックスに該当するもののチェックを入れ、確定ボタンでシートに転記し、続けて次の名簿を入れる・・という風にしたいのです。いろいろ参考にしながら作成したのですが、、、 質問(1)一人目、3つあるチェックボックスのうち2つにチェックを入れる→確定ボタンを押してもチェックボックスのチェックが残ってしまい、二人目を入れるのにチェックを一度消さなくてはならないのです。確定ボタンを押すと転記された後チェックがリセットされるようにするには、どうしたらよいのでしょうか? 質問(2)チェックをシートに転記すると、現在セルにはTRUEと入ります。これを”○”とか”レ”とかの記号にするにはどうしたらよいですか? おそらく、既に回答がある質問だとは思ったのですが、探すのが下手なのか見つけられずに、はじめてこちらに質問させて頂く次第です。よろしくお願いいたします。

  • excel vba ユーザーフォーム

    現在、セルa101からa110までに「商品名」、セルb101からb110までに「金額」が 入力済みです。 このデータを、ユーザーフォーム上にコンボボックスを2つ作成し、セルa1へ 商品名を選択後、入力。また、b2へ金額を選択後、入力させたいのです。 また、ユーザーフォーム上にテキストボックスを作成し、ここに入力した 「備考」の全角10文字をc1へ移動したいです。 今のところ、ユーザーフォーム、コンボボックス、テキストボックスを作成した だけで 立ち往生しています。 どなたか、ご教授お願いいたします。

  • VBAユーザーフォームのチェックボックスについて

    いつもお世話になっております。 VBAのチェックボックスについてお尋ねします。 貼付ファイルのようなユーザーフォームを作成しました。 フレーム1(TEST1)に 1.CheckBox1(全選択) 2.CheckBox2 3.CheckBox3 フレーム2(TEST2)に 4.CheckBox4(全選択) 4.CheckBox5 5.CheckBox6 フレーム外に 6.CheckBox7(全選択) があります。 フレーム1のCheckBox1にチェックを付けるとCheckBox2とCheckBox3にチェックが入り フレーム外のCheckBox7にチェックを付けると全てのCheckBoxにチェックが入るようにしたいのですが。 どなたかご教授をお願いします。