いつも教えてgooの皆さんに大変お世話になっております
以下は、Private Sub Worksheet_Change(ByVal Target As Range)内の
文字列操作のマクロですが、MiniLenを変数宣言しなくても
マクロは狙った通りの動きをします
なぜでしょうか?
どなたか教えてください
Dim MojiLen as String 'MojiLen(文字数という意味で)
MiniLen=3 '最少文字数
If Not IsNumeric(Right(Range("E16").Value, 1)) Then 'E16の右端が数値でないなら
MojiLen = "8"
ElseIf CInt(Right(Range("E16").Value, 1)) < MiniLen Then
MojiLen = MiniLen
Else
MojiLen = Right(Range("E16").Value, 1) 'E16は固定です
End If
Range("E" & Target.Row).FormulaR1C1 = "=LEFT(RC[-1]," & MojiLen & ")"
No.1ベストアンサー
- 回答日時:
明示的に変数の宣言を行わなくても、暗黙的に宣言されるようになってるからだと思います。
Option Explicit ステートメント (Visual Basic)
http://msdn.microsoft.com/ja-jp/library/y9341s4f …
--
モジュールの先頭に、
Option Explicit On
と書いておくと、変数の使用には明示的な宣言が必要になり、質問のソースはエラーになるハズ。
例えば、質問の例だとスペルミスやタイプミスなどで、
MojiLen = MinLen
とかってしちゃうと、予期しない動作をするとかって事があります。
そういうケースの方が面倒なトラブルになりやすいので、Option Explicit Onするクセを付けとくのが良いかも。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAのトグルボタンでのマクロについて質問です 3 2022/10/10 17:23
- Visual Basic(VBA) 【再投稿】VBAで動作しなくて困っています 2 2022/10/11 11:05
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数学 Tan(θ)-1/Cos(θ)について...
-
スマートな関数を教えて下さい。
-
Excel ウインドウ枠の固定をす...
-
EXACT関数とIF関数の組み合わせ...
-
4つのパターンを表示するEXACT...
-
関数を教えて下さい。
-
Excel:一部のフォントでセルの...
-
エクセルで指定した日付、店舗...
-
エクセルでセルに「氏名を入力...
-
Excel 2019 のピボットテーブル...
-
スプレッドシートの関数VLOOKUP...
-
エクセルで日付の入ったセルの...
-
Excelファイルの「数式」タブ→...
-
excelの不要な行の削除ができな...
-
Excelのif関数で文字が見えなく...
-
各ページの1番上の表示について
-
エクセル関数に詳しい方、教え...
-
INDIRECTを使わず excelで複数...
-
Excel 2019 は、SPILL機能があ...
-
UNIQUE関数が使えないバージョ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報