Excel (VBA)

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

 
(Windows 10 Home : その他)
変数を使いたい
投稿日時: 24/09/19 15:23:32
投稿者: o_taroh

セルA1に「ABCD:」、B1に「1234567」を入力しておき下記のようなプロシジャーを実行するとB2には問題なく結果が出るのですが、セルA1を変数nmに変えるとエラーになります、変数をどのように書けばいいのか教えて下さい。
Sub TEST()
    Dim nm As String
    nm = "ABCD:"
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "= R[-1]C[-1]&TEXT(R[-1]C,""#,###"")"
    Range("B3").Select
    ActiveCell.FormulaR1C1 = "= nm&TEXT(R[-1]C,""#,###"")"
End Sub

回答
投稿日時: 24/09/19 16:02:02
投稿者: sk

-----------------------------------------------------------------
Sub TEST()
     
    Dim nm As String
    nm = "ABCD:"
     
    Range("B2").FormulaR1C1 = "= R[-1]C[-1]&TEXT(R[-1]C,""#,###"")"
    Range("B3").FormulaR1C1 = "=""" & nm & """&TEXT(R[-2]C,""#,###"")"
 
End Sub
-----------------------------------------------------------------
 
以上のように書き換えればよろしいでしょう。

回答
投稿日時: 24/09/19 16:29:41
投稿者: WinArrow

注意事項
 
変数は、""の中から外にだす。
 

="nm"
 

=""" & nm & """"
 
B3セルからB1セルを参照しているから[-1]ではなく[-2]にする。
 
合体すると
    ActiveCell.FormulaR1C1 = "=""" & nm & """" & "&TEXT(R[-2]C,""#,###"")

投稿日時: 24/09/19 17:20:22
投稿者: o_taroh

skさん WinArrowさんありがとうございました、あれこれ3時間も苦労してうまくいかなかった問題が解決しました。