Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3795 / 13645 ツリー ←次へ | 前へ→

【60088】ラベルの日付表示についてのコンパイルエラーについて vbaマクロン 09/1/27(火) 10:35 質問[未読]
【60089】Re:ラベルの日付表示についてのコンパイル... マクロマン 09/1/27(火) 10:46 発言[未読]
【60090】Re:ラベルの日付表示についてのコンパイル... マクロマン 09/1/27(火) 10:48 発言[未読]
【60091】Re:ラベルの日付表示についてのコンパイル... マクロマン 09/1/27(火) 10:51 発言[未読]
【60092】Re:ラベルの日付表示についてのコンパイル... マクロマン 09/1/27(火) 10:53 発言[未読]
【60093】Re:ラベルの日付表示についてのコンパイル... マクロマン 09/1/27(火) 11:11 発言[未読]
【60099】Re:ラベルの日付表示についてのコンパイル... vbaマクロン 09/1/27(火) 14:35 質問[未読]
【60100】Re:ラベルの日付表示についてのコンパイル... neptune 09/1/27(火) 14:55 発言[未読]
【60150】Re:ラベルの日付表示についてのコンパイル... vbaマクロン 09/1/30(金) 14:06 お礼[未読]

【60088】ラベルの日付表示についてのコンパイルエ...
質問  vbaマクロン  - 09/1/27(火) 10:35 -

引用なし
パスワード
   ラベルの日付表示についてのコンパイルエラーについてご指導お願いします。
ラベル1に日付、ラベル2に曜日を表示させる構文を書きましたが、当初は動いていたのですが、最近、コンパイルエラーが表示されるようになりました。
構文は以下の通りです。
Private Sub UserForm_Initialize()

UserForm2.Label1 = Date

Dim MyDate, MyWeekDay
MyDate = Date
MyWeekDay = Weekday(MyDate)
If MyWeekDay = 1 Then
  YOUBI = "日曜日"
ElseIf MyWeekDay = 2 Then
  YOUBI = "月曜日"
ElseIf MyWeekDay = 3 Then
  YOUBI = "火曜日"
ElseIf MyWeekDay = 4 Then
  YOUBI = "水曜日"
ElseIf MyWeekDay = 5 Then
  YOUBI = "木曜日"
ElseIf MyWeekDay = 6 Then
  YOUBI = "金曜日"
ElseIf MyWeekDay = 7 Then
  YOUBI = "土曜日"
End If
UserForm2.Label2 = YOUBI
End Sub

になりますが、このコンパイルエラーなど不安定を解消するには構文をどの様に直せばよろしいでしょうか?
ご指導お願いいたします。

【60089】Re:ラベルの日付表示についてのコンパイ...
発言  マクロマン  - 09/1/27(火) 10:46 -

引用なし
パスワード
   >YOUBI

変数の宣言がされていません。

最近、「変数の宣言を強制する」にチェックを入れましたか?

【60090】Re:ラベルの日付表示についてのコンパイ...
発言  マクロマン  - 09/1/27(火) 10:48 -

引用なし
パスワード
   >UserForm2.Label2 = YOUBI

これも直した方がいいですね。

UserForm2.Label2.Caption = YOUBI

【60091】Re:ラベルの日付表示についてのコンパイ...
発言  マクロマン  - 09/1/27(火) 10:51 -

引用なし
パスワード
   >Dim MyDate, MyWeekDay

これも型を設定できるのなら、Variant型ではなく、
適した型で宣言した方がいいです。

Dim MyDate As Date
Dim MyWeekDay As Integer

【60092】Re:ラベルの日付表示についてのコンパイ...
発言  マクロマン  - 09/1/27(火) 10:53 -

引用なし
パスワード
   あと、Format関数を使えば、日付けから直接曜日を取得できます。

MsgBox Format(Date, "aaaa")
MsgBox Format(Date, "aaa")

【60093】Re:ラベルの日付表示についてのコンパイ...
発言  マクロマン  - 09/1/27(火) 11:11 -

引用なし
パスワード
   今回は日付けから曜日を直接取得する方法でいけますので

If〜Then
ElseIf
ElseIf
End If

という条件分岐処理は不要になりますが、
こういう場合は

Select Case A
Case B
 処理1
Case C
 処理2
Case D
 処理3
End Select

というような方法もあります。

【60099】Re:ラベルの日付表示についてのコンパイ...
質問  vbaマクロン  - 09/1/27(火) 14:35 -

引用なし
パスワード
   ▼マクロマン さん
早々のご指導、ありがとうございます。
やはりエラーが出てしまい。
UserForm2.Label1.Caption = dataのdataに青で塗りつぶされます。
よろしくお願いします。

>今回は日付けから曜日を直接取得する方法でいけますので
>
>If〜Then
>ElseIf
>ElseIf
>End If
>
>という条件分岐処理は不要になりますが、
>こういう場合は
>
>Select Case A
> Case B
> 処理1
> Case C
> 処理2
> Case D
> 処理3
>End Select
>
>というような方法もあります。

【60100】Re:ラベルの日付表示についてのコンパイ...
発言  neptune  - 09/1/27(火) 14:55 -

引用なし
パスワード
   ▼vbaマクロン さん:
回答できるような情報はキチンと書きましょう。

マクロマン さんのご指摘の
・「変数の宣言を強制する」にチェックを入れましたか?
・変数の宣言はどのようにしたか
はどのように対応しましたか?

>UserForm2.Label1.Caption = dataのdataに青で塗りつぶされます。
初めて出てくる変数と思いますが、
変数dataの宣言、どのように値を取得しているか、エラー番号、エラー内容は?

【60150】Re:ラベルの日付表示についてのコンパイ...
お礼  vbaマクロン  - 09/1/30(金) 14:06 -

引用なし
パスワード
   ▼neptune さん:
>▼マクロン さん:

突然普通に動きました。
いろいろとアドバイスありがとうございました。


>回答できるような情報はキチンと書きましょう。
>
>マクロマン さんのご指摘の
>・「変数の宣言を強制する」にチェックを入れましたか?
>・変数の宣言はどのようにしたか
>はどのように対応しましたか?
>
>>UserForm2.Label1.Caption = dataのdataに青で塗りつぶされます。
>初めて出てくる変数と思いますが、
>変数dataの宣言、どのように値を取得しているか、エラー番号、エラー内容は?

3795 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free