Excel (VBA)

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

 
(Windows 10 Home : その他)
文字列で処理したい
投稿日時: 24/05/08 11:34:53
投稿者: o_taroh

セルA1に1234567、セルB1にABC:を入力しておき、C1〜G1、C2〜G2、C3〜G3に夫々セル結合を設定しておきます。
夫々の結合セルに次のプロシジャーを実行するとTest01とTest02は思い通りにいくのですが、Test03はエラーになります。使いたいのはTest03なのですが変数をどのように書けばいいのでしょうか。
Sub Test01()
    Range("C1:G1").Select
    ActiveCell.FormulaR1C1 = "=""ABC:""&TEXT(R1C1,""#,###"")"
End Sub
結果=ABC:1,234,567
 
Sub Test02()
    Range("C2:G2").Select
    ActiveCell.FormulaR1C1 = "=R1C2&TEXT(R1C1,""#,###"")"
End Sub
結果=ABC:1,234,567
 
Sub Test03()
    Dim Mj As String
    Mj = "ABC"
    Range("C3:G3").Select
    ActiveCell.FormulaR1C1 = "=Mj&TEXT(R1C1,""#,###"")"
End Sub
結果=#NAME? エラー表示

回答
投稿日時: 24/05/08 12:08:05
投稿者: Suzu

C3:G3 に代入された数式 は どうなっているか 確認されましたか?
 
まずは、それを確認し、あるべき 数式 との違いを把握される事をお勧めします。

投稿日時: 24/05/08 13:03:17
投稿者: o_taroh

=Mj&TEXT($A$1,"#,###")となっています

回答
投稿日時: 24/05/08 13:12:44
投稿者: sk

引用:
Mj = "ABC"

引用:
ActiveCell.FormulaR1C1 = "=Mj&TEXT(R1C1,""#,###"")"

ActiveCell.FormulaR1C1 = "=""" & Mj & ":""&TEXT(R1C1,""#,###"")"
 
------------------------------------------------------
 
以上のように文字列結合した結果を C3 セルの数式として
設定なさればよろしいのではないかと。

投稿日時: 24/05/08 16:52:30
投稿者: o_taroh

skさんありがとうございました、おかげさまで解決できました。