こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

マクロ記録実行で実行時エラー'1004'発生

excel2010

B2セルに文字列が入っています。
文字と数値の混載です。
数値の位置は不定です。

L2のセルで、下記判定をします。
B2セルの文字列(約20文字程度)の左から4番目がドだったら、数値を抽出、ド以外だったら空白。

WEBで計算式があったので、それをそのままマクロの記録としました。

Range("L2").Select
ActiveCell.FormulaR1C1 = _
"=IF(RIGHT(LEFT(RC[-10],4),1)=""ド"",MID(RC[-10],1/MAX(INDEX(ISNUMBER(--MID(RC[-10],ROW(INDIRECT(""1:""&LEN(RC[-10]))),1))/ROW(INDIRECT(""1:""&LEN(RC[-10]))),)),MAX(INDEX(ISNUMBER(--MID(RC[-10],ROW(INDIRECT(""1:""&LEN(RC[-10]))),1))*ROW(INDIRECT(""1:""&LEN(RC[-10]))),))-1/MAX(INDEX(ISNUMBER(--MID(RC[-10],ROW(INDIRECT(""1:""&LEN(RC[-10]))),1))/ROW(INDIRECT(""1:""&LEN(R" & _
"),))+1)*1,"""")"
Range("L3").Select
で記録されます。

上記を、マクロの実行すると実行時エラー'1004'
アプリケーション定義またはオブジェクト定義のエラーです。
と表示されます。

何がおかしいのでしょうか?

シートで、マクロでなく、L2セルでF2リターンとする分には、数値が表示されます。

下記は、L2の中身です
=IF(RIGHT(LEFT(B2,4),1)="ド",MID(B2,1/MAX(INDEX(ISNUMBER(--MID(B2,ROW(INDIRECT("1:"&LEN(B2))),1))/ROW(INDIRECT("1:"&LEN(B2))),)),MAX(INDEX(ISNUMBER(--MID(B2,ROW(INDIRECT("1:"&LEN(B2))),1))*ROW(INDIRECT("1:"&LEN(B2))),))-1/MAX(INDEX(ISNUMBER(--MID(B2,ROW(INDIRECT("1:"&LEN(B2))),1))/ROW(INDIRECT("1:"&LEN(B2))),))+1)*1,"")

投稿日時 - 2017-03-09 17:47:39

QNo.9303083

暇なときに回答ください

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

まずGoogleででも「実行時エラー 1004 アプリケーション定義またはオブジェクト定義のエラー」で照会してみましたか。
たくさん記事がでてくるが。その中で
http://www.tipsfound.com/vba/191004
が近いのでは。
ActivateしたシートとSelectしたシートが違うとか。
ほかに
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10106782410
を参考にしてチェックしてください。

投稿日時 - 2017-03-10 21:41:29

補足

ActivateしたシートとSelectしたシートが違う
ではない模様です。

Range("L2").Select
ActiveCell.FormulaR1C1 = _
"=IF(RIGHT(LEFT(RC[-10],4),1)=""ド"",MID(RC[-10],1/MAX(INDEX(ISNUMBER(--MID(RC[-10],ROW(INDIRECT(""1:""&LEN(RC[-10]))),1))/ROW(INDIRECT(""1:""&LEN(RC[-10]))),)),MAX(INDEX(ISNUMBER(--MID(RC[-10],ROW(INDIRECT(""1:""&LEN(RC[-10]))),1))*ROW(INDIRECT(""1:""&LEN(RC[-10]))),))-1/MAX(INDEX(ISNUMBER(--MID(RC[-10],ROW(INDIRECT(""1:""&LEN(RC[-10]))),1))/ROW(INDIRECT(""1:""&LEN(R" & _
"),))+1)*1,"""")"
Range("L3").Select
の中身を短くする(別の式)とエラー発生しません。

投稿日時 - 2017-03-11 09:25:52

お礼

回答ありがとうございます

投稿日時 - 2017-03-11 09:25:58

あなたにオススメの質問