Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2007)
冗長なステートメント改行?
投稿日時: 18/11/17 10:04:20
投稿者: o_taroh

1行だと実行可能なステートメントを冗長なため、以下のように改行するとコンパイルエラーのメッセージが出ます「+」の前後どちらもだめです、なにがいけないのでしょうか?
「 _」の挿入が不適当な箇所があるのでしょうか、よろしくお願いします。
ActiveCell.FormulaR1C1 = "=SUMIF(WP_Lim!R6C3:R65C3,""<=80"",WP_Lim!R6C" & p1 & ":R65C" & p1 & ") _
            +SUMIF(WP_Lim!R6C3:R65C3,""<=80"",WP_Lim!R6C" & p2 & ":R65C" & p2 & ") _
            +SUMIF(WP_Lim!R6C3:R65C3,""<=80"",WP_Lim!R6C" & p3 & ":R65C" & p3 & ")"

回答
投稿日時: 18/11/17 11:28:07
投稿者: simple

ActiveCell(中略)= "=SUMIF(WP_Lim!R6C3:R65C3,""<=80"",WP_Lim!R6C" & p1 & ":R65C" & p1 & ") _
       +SUMIF(WP_Lim!R6C3:R65C3,""<=80"",WP_Lim!R6C"
& p2 & ":R65C" & p2 & ") _
       +SUMIF(WP_Lim!R6C3:R65C3,""<=80"",WP_Lim!R6C"
& p3 & ":R65C" & p3 & ")"
 
赤字箇所のように、ダブルクォーテーションの中を2行にわたって記述することはできません。

回答
投稿日時: 18/11/17 11:49:18
投稿者: simple

内容は見ていないが、形式に限定して言えば、

ActiveCell.FormulaR1C1 = _
        "=SUMIF(WP_Lim!R6C3:R65C3,""<=80"",WP_Lim!R6C" & p1 & ":R65C" & p1 & ")" _
    & " + SUMIF(WP_Lim!R6C3:R65C3,""<=80"",WP_Lim!R6C" & p2 & ":R65C" & p2 & ")" _
    & " + SUMIF(WP_Lim!R6C3:R65C3,""<=80"",WP_Lim!R6C" & p3 & ":R65C" & p3 & ")"
などと書くかも知れません。

投稿日時: 18/11/17 17:34:06
投稿者: o_taroh

simpleさん ありがとうございました解決できて無事動作出来ました、ダブルコーテーションの中を2行にしてはいけないのですね、また一つ利口になりました。