最速怪談選手権

VBA初心者です。
VBAを使って関数の貼り付けができません。

初めにマクロの記録をして
指定セルにLEFT関数を入力しました。
関数のエラーなどはなく、
正常に動作しました。

VBAを開き、コンパイルしてみても特に問題はないように見えたのですが
いざ実行すると
実行コード 1004
アプリケーション定義またはオブジェクト定義のエラーです。
という表示がでて動作しません。

貼り付けしたい式は
ActiveCell.FormulaR1C1 = _
"=IF(LEFT(RC[-1],2)=""営業"",""営業"",IF(LEFT(RC[-1],2)=""事務"",""事務"",...
という形で関数をセルに直接入力しても問題は出ませんでした。

またツール、参照設定からXML3.0にチェックをいれたり、(参照不可になっているものはありませんでした)
LEFTの前にStrings.やMicrosoft.VisualBasic.をつけて動かしてみましたが
やはりだめでした。

解決策をご教示ください!!
何卒宜しくお願い致します。

質問者からの補足コメント

  • うーん・・・

    ...は以下省略で使用しておりました。

    「ActiveCell.FormulaR1C1 = _
    "=IF(LEFT(RC[-1],2)=""営業"",""営業"",IF(LEFT(RC[-1],2)=""事務"",""事務"","",...""))"」

    この式は本来入力されている式とは若干異なります。
    諸事情により一部公開できないものが含まれていたからです。
    以下その部分を置き換えさせて頂き、全表示とさせて頂きたいです。
    「ActiveCell.FormulaR1C1 = _
    "=IF(LEFT(RC[-1],2)=""営業"",""営業"",IF(LEFT(RC[-1],2)=""事務"",""事務"",IF(LEFT(RC[-1],5)=""システム部"",""システム"",IF(LEFT(RC[-1],3)=""東日本"",""東北"",""その他""))))"」

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/03/28 13:12

A 回答 (2件)

とりあえず提示いただいたものではエラーにはなりません。


そちらでもエラーになる行の直前に入れて実験されたら良いのでは?
① 元のエラーの部分でエラーになるならば、ご提示いただけない部分に問題が有ります。
② 挿入された部分でエラーになるならば、根本の原因は別に有るので、全体を提示いただく必要が有るかもしれません。
    • good
    • 0
この回答へのお礼

よく見てみたら
改行の際に不要な文字が入っていたみたいです。
よく見直してみて気づきました。
ありがとうございます。
また宜しくお願い致します。

お礼日時:2018/03/29 10:47

「ActiveCell.FormulaR1C1 = _


"=IF(LEFT(RC[-1],2)=""営業"",""営業"",IF(LEFT(RC[-1],2)=""事務"",""事務"",...」
このままだと「実行コード 1004」のエラーは出ます。
「...」は以下省略的に使われているのでしょうか?
もしかしたら、その省略部分でエラーになっているかもしれません。
全表示していただけないでしょうか?
または、とりあえず以下のようにしてもエラーは出るのでしょうか?
「ActiveCell.FormulaR1C1 = _
"=IF(LEFT(RC[-1],2)=""営業"",""営業"",IF(LEFT(RC[-1],2)=""事務"",""事務"","",...""))"」
この回答への補足あり
    • good
    • 0
この回答へのお礼

回答締め切った後に補足が出来なかったので
今後忘れたときのためにこの欄を借りて補足させて下さい。
式が長文で改行されていて、そこでエラーが起きていたので
メモ帳に貼り付け、その部分を一行になるように編集したら直りました。

お礼日時:2018/04/03 14:57

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