人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: MIC-YOSSI
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● TransFreeBSD

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

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

TransFreeBSDさんのコメント
「dst = src.Offset(1,0)」の前に「Set」が要りましたので追加しました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ