また質問です。
VBであらかじめ書いてあった三つの円を信号機のように青は2.5秒、黄色は0.5秒、赤は3秒で青→黄→赤→青 …と三十秒間動かしたいのですが、caseの後ろには何をいれればいいかわからず
Private Sub Timer1_Timer()
Timer.Tag = Timer1.Tag + 0.5
progressbar1.Value = progressbar1.Value + 0.5
Select Case Timer1.Tag
Case
Shape5.FillColor = vbGreen
Shape5.FillStyle = 0
Case
Shape6.FillColor = vbYellow
Shape6.FillStyle = 0
Case
Shape7.FillColor = vbRed
Shape7.FillStyle = 0
end select
End Sub
としたのですがまったく動きません。タイマーを設定したのに時間の表示もでません。あと、progressbarというのもでてこないんです。
どうかお詳しい方お願いします。 m(_ _)m
No.1ベストアンサー
- 回答日時:
下記を確認してください。
・Timer1のintervalは指定してますか?
・progressbar1のMaxは指定してますか?
・Timer1.Tagは文字列ですので「Timer1.Tag = Timer1.Tag + 0.5」のような指定はできません。「Timer1.Tag = CStr(Val(Timer1.Tag) + 0.5)」のように数値と文字列を使い分けてください。
・Caseに対する値がないため、Caseでの判断ができません。Tagに入っている値を入れる必要があるかと思います。
・色を塗る指定はありますが、消す指定がないので、このプログラムでは信号機のように消えることがありません。
以下は質問文の書き方を利用して私が作成するなら。。。ということで書いておきます。別な書き方もありますが、ひとまず下記だけでも動くかと思います。
【設定値】
「Timer1.Interval=500」
「progressbar1.Max = 60」
「Shape5.FillColor = &H0000FF00&」
「Shape6.FillColor = &H0000FFFF&」
「Shape7.FillColor = &H000000FF&」
【ソース】
Private Sub Timer1_Timer()
Timer1.Tag = CStr(Val(Timer1.Tag) + 1)
ProgressBar1.Value = ProgressBar1.Value + 1
Select Case Timer1.Tag
Case "1"
Shape5.FillStyle = 0
Case "5"
Shape5.FillStyle = 1
Shape6.FillStyle = 0
Case "6"
Shape6.FillStyle = 1
Shape7.FillStyle = 0
Case "12"
Shape7.FillStyle = 1
Shape5.FillStyle = 0
Timer1.Tag = "0"
End Select
If ProgressBar1.Value >= 60 Then
Shape5.FillStyle = 1
Timer1.Enabled = False
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) Excelのマクロについて教えてください。 3 2022/06/30 09:36
- Visual Basic(VBA) select caseの入れ子 3 2023/03/08 18:48
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) Worksheet_Change 4 2023/03/12 21:54
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- Visual Basic(VBA) いつもお世話になります 下記のコード実行すると エラーになります わかるかた教えてくれませんでしょう 6 2022/12/17 15:01
- Visual Basic(VBA) 先ほど、回答者様によって教えていただいたのですがどうしたらいいか分かりません。 ユーザーフォーム上に 2 2023/02/21 22:25
- Visual Basic(VBA) ワークシートチェンジで曜日を表示する方法 1 2023/03/04 21:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特殊記号が勝手にエスケープさ...
-
東芝のDynabookなのですがアン...
-
isnan・isnf関数が「識別子が見...
-
MSXML で Windows-31J のキャラ...
-
MSXMLで使用可能な文字コードの...
-
CPUの考え方を教えてください ...
-
eclipseへのxmlファイル追加
-
xmlファイルが上手にHTMLに変換...
-
XMLで要素が記述された順番に意...
-
昔Winnyってありましたけど、あ...
-
2分探索木の高さを求めるプロ...
-
XML、XSLTの適応エラー(IEから...
-
MSXMLを使ってノードを削除した...
-
同じタグ名の項目取得
-
UTF-8でエンコーディングとはど...
-
VB6.0でDOMを使用して...
-
XMLファイル内のデータ(値)を変...
-
TreeViewについて
-
XMLで特殊文字を扱うにはどうし...
-
ASPで型宣言
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
東芝のDynabookなのですがアン...
-
特殊記号が勝手にエスケープさ...
-
Visual Basic .NET の識別子は...
-
isnan・isnf関数が「識別子が見...
-
使用できる文字の規約
-
二つの XML 文書を結合する方法...
-
MSXML で Windows-31J のキャラ...
-
MSXML3でerror: 'C2065 IID_IXM...
-
CPUの考え方を教えてください ...
-
XMLで要素が記述された順番に意...
-
昔Winnyってありましたけど、あ...
-
バッチファイルでテキストファ...
-
XML、XSLTの適応エラー(IEから...
-
UTF-8でエンコーディングとはど...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
-
XMLファイル内のデータ(値)を変...
-
xmlファイルが上手にHTMLに変換...
-
同じタグ名の項目取得
-
ExcelVBAで書き出した文字が化ける
おすすめ情報