- ベストアンサー
変数名の自動変更支援機能について
- Excel VBA初心者の方が変数名の自動変更支援機能について質問されています。
- 以前は変数名を変更すると関連するコードも自動的に変更されていたが、最近はそれができなくなってしまったとのことです。
- また、宣言されていない変数に対しても警告を出してくれなくなってしまったようです。この支援機能を復活させる方法について質問しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- ExcelVBAマクロでの変数の宣言エラーについて
初歩的な質問になりますが、ExcelVBAマクロで変数の宣言「Dim wdObj As New Word.Application」のエラーについて確認させてください。 変数の宣言「Dim wdObj As New Word.Application」がExcel2007以前では使えないようで、『ユーザ定義型は定義されてません。』というエラーがExcel2007以前で起きます。 Excel2010では問題なく動作しています。 Excel2007以前でも動作する方法をご教授いただけますでしょうか。 お手数おかけしますが、よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- 変数名やサブプロシージャーの名前を英語ではなく日本
VBAにおいて 変数名やサブプロシージャーの名前を英語ではなく日本語でつけると どのような不具合が発生しますか? ネット上のサンプルコードなどを見ていると、 Dim i As Long など、変数名を英字にしてありますが 自分は Dim 行 As Long Dim 数 As Long などにしてしまいます。 このように日本語で変数名をつけると どのようなデメリット・不具合が発生するのでしょうか? コードとして見にくいだけですか? ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 変数の定義について
変数の定義について 変数の定義について 他のブックから検索値をVLOOKで転記させるマクロをこちらの掲示板ログなどを 拝見しながら、ツギハギして作成しました。 転記先のシートのA列に区別コードを設けています。 これを基に転記元のブックから社名などを転記させようと思っているのですが、 変数の型宣言が上手くないらしく?転記処理が出来ません。 「Option Explicit」と「変数宣言」をコメントアウトすると動作します。 変数の宣言が違うのだろうか?と宣言部分をコメントアウトして動作確認して いったら、「Dim 検索値 As Double」があると動作しないようなのです。 これをValiantに変更しても動作しませんでした。 この原因が分かる方、どうぞ助けてください。 //////////////////////////////////////////////////////// Dim Base As Workbook, Code As Workbook Dim 範囲 As Range Dim i As Long Dim 会社名 As String Dim 検索値 As Double ←←←←←←←←←←←←←←←←←ここの部分? Sub 一覧() Set Base = Workbooks("転記元.xls") Set Code = Workbooks("転記先.xls") Set 範囲 = Base.Worksheets("転記元").Range("A4:AX5000") On Error GoTo ErrorHandler Do 検索値 = Code.Worksheets("転記先のシート").Cells(i + 2, 1) If 検索値 = "" Then Exit Do 会社名 = Application.WorksheetFunction.VLookup(検索値, 範囲, 6, False) Code.Worksheets("転記先のシート").Cells(i + 2, 2) = 会社名 i = i + 1 Loop Error トラップ開始 ErrorHandler: 会社名 = "" Resume Next End Sub ////////////////////////////////////////////////////////
- ベストアンサー
- その他MS Office製品
- VBA モジュールで共通に使う変数の宣言方法
VBAにてプログラミングを覚えている者です。 現在、いくつかのモジュールがあり、それぞれDimにて宣言している共通の変数があります。 いくつものプロシージャに毎回宣言せず、どこかでひとまとめにしたいと思い、色々と調べています。 例えば、 Dim pic1 As Picture Dim cell1 As String Dim pass1 As String Dim pic2 As Picture などです。 Dimのほかに、Publicの宣言などがありますが、いま一つ使い方がピンときません。 共通宣言する変数をひとつのモジュールとして登録し、活用できると、いざ変更となったときに その内容だけ置き換えればいいと思うのですが、みなさんはどのように宣言をしていますか? (例えば、Stringなどは各モジュールで変更するのが大変だと思うのですが・・・) ヒントを教えていただければと思います。よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- VBAで変数定義の必要性について
==(1)================= Dim abc As Long abc = 5 ===================== ==(2)================= abc = 5 ===================== あるパソコンで(2)のコードで 「オブジェクトまたはライブラリが見つかりません」 とのエラーになります。(多数のパソコンでエラーになりません) VBAに対して、変数が定義されなくても、値をセットされた際に、 変数属性を与えるとのように考えれば良いですか。 以上、よろしくお願いします。
- 締切済み
- Visual Basic
- 変数を動的に作るには?
変数を作成する際には必要な分だけ一つずつ宣言する必要があるのでしょうか? 例えば、連番を格納する文字列型変数を一時的に100個必要だとすると Dim textdat1 As String = "Number1" Dim textdat2 as String = "Number2" Dim textdat3 as String = "Number3" ・ ・ ・ と100個宣言しないといけないと思うのですがこれを For i As Integer = 1 To 100 Dim textdat(i) As String = "Number" & i Next i という様な形で変数を作成することは出来ないのでしょうか。 初歩的な質問かもしれませんが、よろしくお願いします。
- ベストアンサー
- Visual Basic
- vbaの 変数の宣言 記号は使えない?
vbaの 変数の宣言 記号は使えない? Sub test1() dim st @ End Sub みたいに変数の型を As String ではなく記号で表現ってできないんでしたっけ? エラーになってしまいます。
- ベストアンサー
- オフィス系ソフト
- VBAの変数宣言について
VBAの変数宣言について サイトを調べながら仕事で色々と自動化しています。VBAを学び始めてまだ日が浅いので疑問は尽きないのですが、一番気になるところを一つ。 変数宣言の As ~ ってのがどうも苦手です。 とりあえず変数として使いたいけど、As ~ の ~ でなにを入れたらいいか分からず、入れないまま使っています。やはり、良くないのでしょうか? 上手に覚えるコツはありますか?
- ベストアンサー
- Excel(エクセル)
- コピーをしたらコピーは終わっているのに画面表示はまだコピー画面で、ちょうど電話が来て子機に内線で電話を回したいのに出来なくて、電話を終了して受話器をおいたら、「電源を入れなおしてください」と表示されたので電源ボタンで電源を入れなおしました。ですが改善されなくてコンセントをぬいてみたりもしましたが改善されません。この後は何を確かめたよろしいでしょうか。
- お使いの環境についてWindowsでの接続となっており、USBケーブルで接続されています。電話回線はひかり回線を使用しています。
- ブラザー製品のMFC-j998DWNでスキャンをしようとすると「AF」というエラーが表示されます。コピーはできるが、スキャンだけができない状況です。既に電源の再起動やコンセントの抜き差しを試しましたが、改善されません。この問題について解決策を教えてください。
お礼
ご回答ありがとうございます!お礼が遅くなり失礼いたしました。 >xyzをXyzに変更したときは変わりますがxxyzにした場合は変わりません >このあたりを勘違いされているのではないでしょうか。 わわわ、お察しの通りです。何ともお恥ずかしい・・・。 でもわかってスッキリしました。ありがとうございます。 Option Explicitの一行は最初ついていたのですが、 コードのコピペを行っている際にうっかり消してしまっていたのに気づき、 自分でModuleの冒頭に足しました。 >チェックを入れる前に作成していたマクロは警告してくれませんけど ということはもう手遅れなのでしょうか・・・。(T-T) もうちょっと自分で調べてみて、わからなければまた質問させていただきます。 ありがとうございました!!