Excel VBA質問箱 IV

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

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


1623 / 13646 ツリー ←次へ | 前へ→

【73068】日付リストの作成について saya 12/11/5(月) 9:47 質問[未読]
【73069】Re:日付リストの作成について ウッシ 12/11/5(月) 9:51 回答[未読]
【73076】Re:日付リストの作成について saya 12/11/5(月) 15:51 お礼[未読]

【73068】日付リストの作成について
質問  saya  - 12/11/5(月) 9:47 -

引用なし
パスワード
   マクロ初心者です。

下記の通り、日付リストを作成したのですが
Excel2003では正常に実行されるのに
Excel2010だと For i = 0 To 21 の箇所で
コンパイルエラーになってしまいます。

エラーを解消するにはどうしたらよろしいでしょうか?
申し訳ありませんが、ご教授お願いします。


**下記**

'日付リスト作成
Sub Auto_Open()
Dim lst As String
Range("F11,Q11") = "(日付を選択)"
With Range("F11,Q11").Validation
.Delete

For i = 0 To 21
lst = lst & Format(Date - i, ",yyyy/mm/dd")
Next i
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=lst
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "指定日"
.InputMessage = ""
.ErrorMessage = "リストの中から選択して下さい。"
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With
End Sub

【73069】Re:日付リストの作成について
回答  ウッシ  - 12/11/5(月) 9:51 -

引用なし
パスワード
   こんにちは

Excel2010の方は「Option Explicit」が宣言してあるのではないですか?

全てのマクロで変数を定義するクセを付けて下さい。


▼saya さん:
>マクロ初心者です。
>
>下記の通り、日付リストを作成したのですが
>Excel2003では正常に実行されるのに
>Excel2010だと For i = 0 To 21 の箇所で
>コンパイルエラーになってしまいます。
>
>エラーを解消するにはどうしたらよろしいでしょうか?
>申し訳ありませんが、ご教授お願いします。
>
>
>**下記**
>
>'日付リスト作成
>Sub Auto_Open()
>Dim lst As String
>Range("F11,Q11") = "(日付を選択)"
>With Range("F11,Q11").Validation
>.Delete
>
>For i = 0 To 21
>lst = lst & Format(Date - i, ",yyyy/mm/dd")
>Next i
>.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
>xlBetween, Formula1:=lst
>.IgnoreBlank = True
>.InCellDropdown = True
>.InputTitle = ""
>.ErrorTitle = "指定日"
>.InputMessage = ""
>.ErrorMessage = "リストの中から選択して下さい。"
>.IMEMode = xlIMEModeNoControl
>.ShowInput = True
>.ShowError = True
>End With
>End Sub

【73076】Re:日付リストの作成について
お礼  saya  - 12/11/5(月) 15:51 -

引用なし
パスワード
   ウッシさん、早々に回答いただきありがとうございました^^
お礼が遅くなり申し訳ありません。

ご指摘の「Option Explicit」が宣言してあるのでは?
という問題を解消してみたのですが、やはり動きませんでした・・・

あまりお聞きしてもご迷惑だと思ったので自力で調べたら
ツール⇒参照設定⇒参照可能なライブラリの項目で
参照不可にレ点が付いていたので、チェックを外したら正常に動きました。
(自力解決に3時間もかかりましたが・・・)

それと、なんで変数を定義しないといけないかも分からなかったのですが
ちゃんと理由を調べて設定を「変数の宣言を強制にする」に変更しました^^

まだまだ分からない事だらけなので、もっと勉強がんばります!


▼ウッシ さん:
>こんにちは
>
>Excel2010の方は「Option Explicit」が宣言してあるのではないですか?
>
>全てのマクロで変数を定義するクセを付けて下さい。

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