![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
エクセルで簡単な学習ツールを作っています。
シートは「問題」シートと「解答」シートの2シートがあり、「解答」シートは非表示になっています。
「問題」シートで解答者の名前をプルダウンで選択し、正解だと思う解答のラジオボタンを選択し、
最後に解答ボタンを押すと、入力した内容が非表示の「解答」シートに反映するような仕組みに
したいのですが、どうすればうまくいきますか?
現在
Private Sub workbook_open()
Sheets("問題").Select
Range("K1") = 0
Range("K2") = 0
Sheets("解答").Select
Range("B2") = 0
Range("C2") = 0
Sheets("問題").Select
Range("B2") = ""
End Sub
と入力していますが、「解答」シートが非表示になっているためデバックになります。
非表示の「解答」シートに入力内容が反映する方法を教えてください。
No.1ベストアンサー
- 回答日時:
非表示のシートを操作するときにSelectを使うことはできません。
単に次のようにすれば非表示のシートのデータを変更できますね。
Sheets("問題").Select
Range("K1") = 0
Range("K2") = 0
Sheets("解答").Range("B2") = 0
Sheets("解答").Range("C2") = 0
Sheets("問題").Select
Range("B2") = ""
No.3
- 回答日時:
No.2です!
たびたびごめんなさい。
前回はBookを開いたときのコードだけでしたね!
>最後に解答ボタンを押すと、入力した内容が非表示の「解答」シートに反映するような仕組みに
>したいのですが・・・
の部分を忘れていました。
具体的なSheetのレイアウトが判らないので
問題Sheet上にコマンドボタンを一つ配置します。
コマンドボタンのプロパティから「Caption」を「解答」などにしておきます。
コマンドボタン上でダブルクリック → VBE画面に↓のコードをコピー&ペースト
Private Sub CommandButton1_Click()
With Sheets("解答")
.Range("A2") = Range("B2")
.Range("B2") = Range("K2")
.Range("C2") = Range("K3")
End With
Range("K2:K3") = 0
Range("B2").Select
Selection = ""
End Sub
※ 1行目と最終行はダブルクリックした段階で表示されますので、2行目以降をコピー&ペーストし
デザインモードを解除して
コマンドボタンをクリックします。
※ あくまで憶測ですが、余計なお世話かもしれませんけど
問題SheetのB2セルが氏名欄になっているとして
B2セル → 解答SheetのA2セル
K2セル → 解答SheetのB2セル
K3セル → 解答SheetのC2セル
に表示させるようにしてみました。
おそらくこの配置だと問題SheetのB2セルの変更があるたびに回答Sheetの2行目以降に続けて表示したい!
といった操作をしたいような感じがしますが、
あまりに先走ってもいけないので
この程度で・・・m(_ _)m
No.2
- 回答日時:
こんにちは!
No.1さんが仰っている通りなので、余計なお世話かもしれませんが・・・
With Sheets("問題")
.Range("K1:K2") = 0
.Range("B2") = ""
End With
Sheets("解答").Range("B2:C2") = 0
といった具合でも大丈夫だと思います。
※ 今回のコードの場合はあまり問題ないと思いますが、
Selection を使わない方が処理速度は速くなります。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/03/25 08:33
- Visual Basic(VBA) excel vba でユーザーフォーム入力ができない 2 2022/12/12 14:42
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/06/19 10:08
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2022/04/01 12:11
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2023/05/26 10:43
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセル・マクロ シートの非表示でマクロのエラー
Visual Basic(VBA)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
フォントの大きさ
Visual Basic(VBA)
-
5
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
6
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
9
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
10
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
11
エクセルでエラーが出て困っています。
Excel(エクセル)
-
12
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
13
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
14
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
15
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
16
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
17
VBA 非表示シートの取り扱い
Excel(エクセル)
-
18
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
19
VBA アクティブでないシートのセルを選択したり、クリアしたり
Excel(エクセル)
-
20
ユーザーフォームのテキストボックスに前回入力した値を表示する Excel
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの切り取りと貼り付け...
-
VBAで長さ0の文字列をNullに変...
-
Excel で3行目、6行目、9行目...
-
excel vba 非表示のシートに入...
-
Excelのサイズが小さくなりません
-
EXCEL VBAでコピーす...
-
エクセルで、コピー貼り付けが...
-
エクセルの範囲指定を規則的に...
-
エクセル ブック全体 セル結...
-
シートを開いたとき、ソノシー...
-
縦書きのトーナメント表の作り方
-
エクセルで同じブック内のシー...
-
エクセルの表組み、セルの固定...
-
Androidでダウンロードに失敗し...
-
Winmerge ファイルの中身は同じ...
-
嫌ってるのに真似してきたりマ...
-
リナックスの特殊ファイル「ソ...
-
onedriveの中身を削除したらパ...
-
教えてください!困ってます。
-
ファイルの単位
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの切り取りと貼り付け...
-
Excel で3行目、6行目、9行目...
-
excel vba 非表示のシートに入...
-
【エクセル】異なったシートの...
-
VBAで長さ0の文字列をNullに変...
-
Excelのサイズが小さくなりません
-
エクセル セル内の文字列を他...
-
エクセルで、コピー貼り付けが...
-
EXCEL VBAでコピーす...
-
縦書きを横書きに変換したい
-
エクセル ブック全体 セル結...
-
EXCELでシートのデータを別のシ...
-
エクセルの表組み、セルの固定...
-
エクセル計算式の複写について
-
windowsではできるハイパーリン...
-
エクセルの範囲指定を規則的に...
-
ウインド枠の固定
-
1ヶ月の平均値は?
-
結合セルに結合していないセル...
-
Excelのフィルハンドルで…「連...
おすすめ情報