質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

1039閲覧

ExcelVBAの質問です。

koarakko

総合スコア22

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2017/12/10 07:01

ExcelVBAを使ってクイズソフトを作成しようとしているのですが、userform2のボタンを押すとラベルにuserform1のいくつかあるcheckboxがチェックされているかどうかで、
ラベルにセルに入ってる文章をランダムで一つ表示させるプログラムを見よう見まねで作成しようとしているのですが、checkboxが一つだけチェックされているときはうまく動作するのですが、2つや3つチェックされると上手く動作しないのですが、何処が悪いのでしょうか?
2つチェックされたときのプログラムを載せます。

Private Sub CommandButton10_Click()

Dim z As String

If UserForm1.CheckBox4.Value And UserForm1.CheckBox5.Value Then
With Worksheets("Sheet2").Range("A2:A41")
z = Application.RandBetween(A1, .Count)
UserForm2.Label6.Caption = .Cells(i).Value
If z = ("1:26") Then
Label7.Caption = "法令"
Else: z = ("27:40")
Label7.Caption = "化学"
End If
End With
End If

補足
チェックボックス4と5をチェックしているときになぜか、A1からA26までのセルの文章は問題なく表示するのですが、A27からA40までのセルの表示が一切おこらないんです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hsk

2017/12/12 03:18

Label7.Caption には、"法令"と"化学"のどちらが入りますか?あと上記コードの変数 A1 や i は、グローバル変数か何かでしょうか?前後がはしょられ過ぎていてこのコードだけでは回答が得られないと思います。
guest

回答1

0

ベストアンサー

正直、コードが基本を逸脱しすぎて全く理解不能ですが、
また、日本語も解読しにくいので、あてずっぽうで回答させて頂きます。

「Else: z = ("27:40")」の部分、
「ElseIf z = ("27:40") Then」ではないですか?

投稿2017/12/12 07:31

ExcelVBAer

総合スコア1175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問