環境:Excel2002です
Cells(1, 1)に(1)~(10),(13),(20)~(28)のような値があります
Cells(1, 1)の値は別のプロシージャ求めていてその都度変わります
Cells(j, 4)をスタート位置にして
Cells(j, 4)に(1)~(10)
Cells(j+1, 4)に(13)
Cells(j+2, 4)に(20)~(28)を表示したいので
以下のプロシージャにしました
Dim Str As String
Str = ActiveSheet.Cells(1, 1).Value
Dim i As Integer
Dim j As Integer
'◆カンマで区切った文字列をD列に格納
Dim tmp As Variant
tmp = Split(Str, ",")
j = 1
For i = 0 To UBound(tmp)
ActiveSheet.Cells(j, 4) = tmp(i)
j = j + 1
Next i
あるブックでは正常に動作するのですが
別のブックでは以下のエラーメッセージがでて動作しません
【モジュールではなく、変数またはプロシージャを指定してください】
何が原因なのでしょうか?ご教示願います
Splitを使わない別の方法があればそれでも結構です
とにかく困っています
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
モジュール名にSplitを使っていました
モジュール名を変えたら動きました
それと
strArとWith ActiveSheetは勉強になりました
ありがとうございます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBA シート上にドロップダウンリストを作り、予め指定値をセットしたいのですが 1 2023/03/25 15:15
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
OutlookVBAで作成したマクロに...
-
或るプロシージャの呼び出し元判定
-
エクセルVBAでUserFormを起動し...
-
Accessでグローバル変数を宣言...
-
アクセス enterで次ページ(レ...
-
Access VBAで行ラベルが定義さ...
-
Access2016 VBA ボタンのイベン...
-
Accessのマクロでモジュールを...
-
Excel VBAで「プログラム実行」...
-
callで順に実行されるプロシー...
-
エクセルの日付に時差を加算 #V...
-
エクセル 日付による並べ替え...
-
Texの枠囲み調節
-
今日の日付が入った行のデータ...
-
PL/SQLでSPOOLさせたいのですが...
-
最新日付のデータを取得したい
-
ExcelのSUMPRODUCTで日付の範囲...
-
SQLサーバで和暦から西暦に変換...
-
関数IFで、指定日付範囲のデー...
-
日付型なら変数の先頭になん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
callで順に実行されるプロシー...
-
VBA プロシージャの名前の取得
-
【Excel VBA】 WorksheetやRa...
-
OutlookVBAで作成したマクロに...
-
或るプロシージャの呼び出し元判定
-
Accessでグローバル変数を宣言...
-
DBMS_OUTPUT.PUT_LINEを実行し...
-
ACCESS2007インポート時の空白...
-
PL/SQLのエラーについて
-
excel/vba/public変数
-
Excel VBAで「プログラム実行」...
-
ACCESS マクロをモジュールに変...
-
エクセルVBAが対応できるプログ...
-
Excel:ThisWorkbookオブジェク...
-
ブックオープン時にテキストボ...
-
VBA 「文字が入っていたら、...
-
vbaでブックを開いたときにコン...
おすすめ情報