エクセルで簡単な学習ツールを作っています。
シートは「問題」シートと「解答」シートの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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
エクセル・マクロ シートの非表示でマクロのエラー
Visual Basic(VBA)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
エクセルでエラーが出て困っています。
Excel(エクセル)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
7
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
8
特定のセルが空白だったら、その行を非表示にしたい。。。
Visual Basic(VBA)
-
9
フォントの大きさ
Visual Basic(VBA)
-
10
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
11
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
12
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
13
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
14
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
15
VBAで「致命的なエラー」が出ました。どのくらい致命的なんでしょうか?
Access(アクセス)
-
16
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
17
VBAで特定の文字が入力されたセルを選択
Excel(エクセル)
-
18
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
19
エクセルVBA「リストボックスで選択した値をテキストボックスで変更してシート上セルに反映したい」
Excel(エクセル)
-
20
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】異なったシートの...
-
エクセルの切り取りと貼り付け...
-
excel vba 非表示のシートに入...
-
Excelのサイズが小さくなりません
-
縦書きのトーナメント表の作り方
-
エディタのviで行数を指定せず...
-
EXCELのVBAで連続コピーの方法...
-
VBAで長さ0の文字列をNullに変...
-
エクセル ブック全体 セル結...
-
EXCEL中のSHEET名の検索方法
-
結合セルに結合していないセル...
-
excel 値と関数の貼り付け
-
Excel で3行目、6行目、9行目...
-
エクセルで同じブック内のシー...
-
Excel セルの高さ&幅を変更で...
-
嫌ってるのに真似してきたりマ...
-
Winmerge ファイルの中身は同じ...
-
「子供が居ないから養育費が掛...
-
ファイルの先頭行を全て削除したい
-
同期センターのマークが出てま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel で3行目、6行目、9行目...
-
エクセルの切り取りと貼り付け...
-
excel vba 非表示のシートに入...
-
【エクセル】異なったシートの...
-
VBAで長さ0の文字列をNullに変...
-
エクセル セル内の文字列を他...
-
エクセル ブック全体 セル結...
-
エクセルの範囲指定を規則的に...
-
EXCEL中のSHEET名の検索方法
-
EXCEL VBAでコピーす...
-
Excelのサイズが小さくなりません
-
エクセルの表のセル幅のみロッ...
-
エクセルで、コピー貼り付けが...
-
エクセルの表組み、セルの固定...
-
エクセルの行を固定したい
-
エクセルで同じブック内のシー...
-
windowsではできるハイパーリン...
-
EXCELでシートのデータを別のシ...
-
縦書きのトーナメント表の作り方
-
Excelのシートに別のシートの表...
おすすめ情報