こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel VBAで模擬問題を作成

仕事で模擬問題をすることになったのですが
簡単なものを作成するつもりが・・・。

sheet1にデータ
sheet2に回答フォーム

データには、A列から順に
問題No.、模擬問題No.、カテゴリーNo.、カテゴリー、問題、選択1・・・、解説、回答一回目・・・。
と言う上記項目があり、リストで入力してあります。

回答フォームには、
問題No.を入力すると、問題と選択1~選択5までが
表示されるようにVlookupで作成しました。

そこへ、"次へ"ボタンを押すと
問題No.を入力せずにデータシートから
一行目から順に表示できるようにしたいのですが
どのようにすればよいでしょうか?

Private Sub CommandButton1_Click()

Range("C7:C10").Select
ActiveCell.FormulaR1C1 = "+1"
Range("D7:c10").Select
End Sub


ボタンをクリックすると「C7:C10」(結合しています)
の数字に「+1」を足していく?
これを繰り返す?

VBAはマクロの登録しかできません。
すみませんがよろしくお願い致します。

投稿日時 - 2006-05-10 14:31:28

QNo.2142475

困ってます

質問者が選んだベストアンサー

No.1です。

エラーですか?
なんでだろう?こちらでは流れるんですが・・・。

とりあえず、補足についての回答ですが、

If myY=160 Then
Msgbox("試験終了")
End IF

を追加すればよいと思います。

投稿日時 - 2006-05-11 21:39:14

お礼

ありがとうございました。
メッセージうまくいきました。

投稿日時 - 2006-05-12 20:50:51

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

こんなんでどうでしょう?

Private Sub CommandButton1_Click()
Counter=1
Do
' A列のCounter番目のデータ
Atai=Range("A2").Offset(Counter-1,0)
' 空白ならループを出る
If Atai="" Then
Exit Do
End If
Counter=Counter+1
Loop
' A列にデータを書き込む
Range("A2").Offset(Counter-1,0)=Counter
End Sub

投稿日時 - 2006-05-10 17:37:20

補足

Range("A2").Offset(Counter-1,0)=Counter
上記のとこでエラーがでました。
ありがとうございます。


Sub Macro2()

myY = myY + 1
Range("C7:C10").Value = myY
Range("E34:F35").Select

End Sub

とりあえず、上記のマクロでなくとか動きましたが

myYの値が160になったら試験終了と言う
メッセージがいれたいのですが・・・。
どうでしょう?

投稿日時 - 2006-05-11 00:04:05

あなたにオススメの質問