昨日見た夢を教えて下さい

お世話になります。
下記のマクロを記述したのですが、ウエから7行目の
mid(Cells(i, colNum + 1).Value, 7, 11)
のところで、下記のようなコンパイルエラーが出てしまいます。
試しに".Value"をとっても見ましたが、結果は同じでした。
どこをどう直せばよろしいのでしょうか、よろしくご指南くださいませ。

Sub mid_ac()
Dim i As Integer
Dim colNum As Integer
i = 2
colNum = ActiveCell.Column
Do Until Cells(i, 1).Value = ""
Cells(i, colNum).Value = mid(Cells(i, colNum + 1).Value, 5, 10)
i = i + 1
Loop
End Sub

コンパイルエラー:
モジュールではなく、変数またはプロシージャを指定してください

(ちなみに、このマクロは選択したセルの右隣にあるセルの左から5文字目~10文字目までを、表示させるものです。答えて下さる方には老婆心かもしれません。。。)

A 回答 (3件)

プロジェクトエクスプローラに表示されているモジュール名に、


 Cells とか Mid なんかがあるんじゃないですか?
あれば、他のぶつからない名前に変更してください。
(例:modXXXXX とか)
    • good
    • 2
この回答へのお礼

ビンゴです。ありがとうございました。

お礼日時:2008/09/11 13:18

どこかに


Sub mid(a, b, c)
・・・
End Sub
とかを作ってませんか?
その場合はそんなエラーが起こってmidが反転するはずです。
そうでなければ、エラーの行ではなく反転する文字を教えてください。

この回答への補足

お享受ありがとうございました。
今回は上記のようなSub・・・は作っておりませんでした。
今後ともよろしくお願いいたします。

補足日時:2008/09/11 13:17
    • good
    • 0

Msgboxを入れただけですが


Sub mid_ac()
Dim i As Integer
Dim colNum As Integer
i = 2
colNum = ActiveCell.Column
MsgBox colNum
Do Until Cells(i, 1).Value = ""
MsgBox Mid(Cells(i, colNum + 1).Value, 5, 10)
Cells(i, colNum).Value = Mid(Cells(i, colNum + 1).Value, 5, 10)
i = i + 1
Loop
End Sub
にしてみて、メッセージ表示はどうなりますか?
私の好みとしては
ActiveCell.Column
は不安定でやりたくない。思わぬセルがアクチブになっていて、つい実行してしまう。
ーー
簡単なデータではエラーは出ないことを確認しました。
データ(やアクチブセル)がたまたま何々の時の問題では?
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございました。

お礼日時:2008/09/11 13:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A