• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでSplitエラーです)

VBAでSplitエラーが発生!原因と解決方法は?

このQ&Aのポイント
  • VBAでSplit関数を使用している際にエラーが発生し、別のブックでは正常に動作しないという問題があります。エラーメッセージは「モジュールではなく、変数またはプロシージャを指定してください」と表示されます。原因としては、ブック内で使用する変数やプロシージャが正しく指定されていない可能性があります。
  • 解決方法としては、以下の点を確認してみてください。まず、変数やプロシージャが正しく宣言されているかを確認します。変数やプロシージャのスコープや名前が正しいかどうかも重要です。また、他のモジュールやプロシージャで同じ名前の変数やプロシージャが定義されていないかも確認してください。
  • さらに、Split関数を使用せずに別の方法で同じ処理を行うことも可能です。例えば、文字列の中に特定の文字が含まれているかを確認し、条件に応じて文字列を分割する方法が考えられます。具体的な実装方法については、VBAのドキュメントやオンラインの情報を参考にしてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>【モジュールではなく、変数またはプロシージャを指定してください】 プロシージャ名が、モジュール名と同じなのではありませんか? もしくは、その逆なのかと思います。 >Cells(1, 1)の値は別のプロシージャ求めていてその都度変わります 意味が分かりませんが、それは無視します。 なお、(13)は、ワークシートでは、-13にキャストされてしまうはずですが、それも無視します。 他に、Str は、関数にありますから、使い方によって不具合が生じます。 '// Sub Test1()  Dim strAr As String  Dim i As Long  Dim j As Long  Dim tmp As Variant  j = 1  With ActiveSheet   strAr = .Cells(1, 1).Value   '◆カンマで区切った文字列をD列に格納   tmp = Split(strAr, ",")   For i = 0 To UBound(tmp)    .Cells(j, 4).Value = tmp(i)    j = j + 1   Next i  End With End Sub

sadacchi12
質問者

お礼

モジュール名にSplitを使っていました モジュール名を変えたら動きました それと strArとWith ActiveSheetは勉強になりました ありがとうございます

関連するQ&A