[[20180601154027]] 『マクロの変数定義エラー』(サマーシトラスティー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロの変数定義エラー』(サマーシトラスティー)

Sub シート追加()

    Worksheets.Add
    sheet_name = InputBox("シート名を追加", "シート名入力")
    ActiveSheet.Name = sheet_name
End Sub

上記マクロを作成しましたが、
デバッグするとコンパイルエラー 変数が定義されていません。と
3行目のsheet_name=が黄色くなります。

何度か打ち直してみたりもしましたができませんでした。
どこが間違っているかご教示いただけないでしょうか。

よろしくお願いします。

< 使用 Excel:Excel2013、使用 OS:unknown >


Sub シート追加()
   Dim sheet_name As String '変数定義
    Worksheets.Add
    sheet_name = InputBox("シート名を追加", "シート名入力")
    ActiveSheet.Name = sheet_name
End Sub
(mm) 2018/06/01(金) 16:00

mm さん
ありがとうございます。
今読んでいるマクロの本には変数定義の一文がなくとも実行できると書いてあるのですが
設定かなにかが違うのでしょうか?
(サマーシトラスティー) 2018/06/01(金) 16:08

option explicit が記載されていませんか?
(mm) 2018/06/01(金) 16:49

mm 様
一行目に記載されていました。
変数の宣言を強制するのチェックボックスを外したらうまくできました。
ありがとうございました。
(サマーシトラスティー) 2018/06/01(金) 16:54

Sub シート削除()
    ActiveSheet.dalate
End Sub

これを入力すると実行エラーとして
オブジェクトはこのプロパティまたはメソッドをサポートしていません。とでました。

つづりを見直しましたが、本通りでした。
御分かりになるかたいらっしゃいましたらご教示ください。
(サマーシトラスティー) 2018/06/01(金) 16:56


つづりが違いました。。
mm 様ご回答くださいましてありがとうございました!
(サマーシトラスティー) 2018/06/01(金) 16:58

Option Explicitを書いたうえで
変数を宣言するのがよいと思います。
皆さんそうされています。
そうしないとスペルミスをしても発覚するのが遅くなり
かえって時間と手間を無駄にすることになります。

(γ) 2018/06/01(金) 17:27


同種の回答ついてますが、気になったので投稿します。

>変数の宣言を強制するのチェックボックスを外したらうまくできました。
たぶん、「Option Explicit」を削除したか、コメントアウトさせて無効にした。の間違いだとおもいます。

その上で、「Option Explicit」を無効にすれば、たしかに変数の宣言を要しなくなりますけど、おすすめしないです。
↓を読んでみて、それでも宣言したくありませんというのであれば、ご自由にとしか言えないですが・・・・
http://officetanaka.net/excel/vba/variable/02.htm
http://officetanaka.net/excel/vba/beginner/06.htm
(もこな2) 2018/06/01(金) 20:01


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.