ご質問です

AシートのG10セルに仮に数式として『 Bシート!D99+Cシート!E99 』という数式が入っており、Bシートの同一列先頭行セルの値&Cシート同一列先頭行セルの値を、
AシートのG11に文字列としてコピーを実現するマクロをどなたか教えて頂けませんでしょうか?よろしくお願いします

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/10/21 15:42:32
  • 終了:2011/10/28 15:45:03

回答(1件)

id:TransFreeBSD No.1

TransFreeBSD回答回数665ベストアンサー獲得回数2672011/10/22 16:45:29

確認してないのでバグがあったらすみません

Option Explicit

Sub Macro1()
    Dim src As Range
    Dim dst As Range
    ' 数式や結果を入れるシート"Aシート"を選択
    Worksheets("Aシート").Activate
    ' 数式の入力範囲"G10:Z10"で繰り返し処理
    For Each src In Range("G10:Z10")
        Set dst = src.Offset(1,0)
        ' 処理する数式の演算子は+または-のみ、またシート名に99が入らない前提
        dst.Formula = Replace(Replace(Replace(src.Formula, "+", "&"), "-", "&"), "99", "1")
        ' 数式で結合した結果を文字として再入力
        dst.Value = dst.Value
    Next
End Sub
id:TransFreeBSD

「dst = src.Offset(1,0)」の前に「Set」が要りましたので追加しました。

2011/10/24 19:29:30
  • id:TransFreeBSD
    色々わからない点が多いです。
    各シート名は固定か?
    G10、G11と言うのは固定か?
    「Bシート!D99+Cシート!E99」と言うのは固定か?
    上記が固定でないのなら、変わる部分と変わらない部分をはっきり明示してほしい。
    Bシートの同一列先頭行セル、Cシート同一列先頭行セルとは、この場合Bシート!D1とCシート!E1か?
    上記が違うのなら同一列先頭行セルとはどういう事なのかもっと詳しく。
  • id:MIC-YOSSI
    文章だけ説明で不明点多く、大変失礼致しました、

    数式が入っているセルはG10 H10 I10 J10という風に1列づつ増えていき
    数式に記述のシート名は完全固定ですが D99 や E99というセル位置については
    99行目は固定ですが 列は不定でございます。また足し算・引き算される数も
    常に2個でなく、1個や3個・4個の場合もございます
    なお、同一列の先頭行セルとは D1 や E1 の事です
    そのセル値(文字列)G11 H11 I11 J11 に文字列結合して1セル内にコピーしたい
    のですが、よろしくお願いします。
    (なおAシートの最終列はZ10 Z11です)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません