- 締切済み
マクロで別シートに数値を移したいのですが・・・
タイトルにありますとおり、マクロを駆使し、数値を別シートに移したいのですが なにぶんマクロに関してほとんど経験、知識はありません。 毎回手動でコピーを繰り返しているのですが、なんとかマクロで自動コピーできればありがたいです^^; 方法としては、フォームのボタンにマクロを埋め込むような形にしたいと思っております。 以下のようなシートがあったとします。 シート1 (抽出内容”平均”) A B C D E F G 1 回数 25 2 2 3 4 6 3 2 9 3 1行目に、回数とあります。今回は25回目のデータとします。 2行目に、同一シートの別表から抽出された数値が並びます。 この数値は別表でオートフィルで抽出された数字ですので、毎回変更されるものとします。 今回は仮に”平均”という内容で抽出したデータだとします。 シート1 (抽出内容”合計”) A B C D E F G 1 回数 25 2 10 10 20 11 15 16 8 3 同じく、25回目、抽出内容”合計”として、オートフィルで抽出した数値です。 シート2 A B C D E F G H 100 回数 平均(1) 2 3 4 6 3 2 9 101 25 平均(2) 102 平均(3) 103 合計(1)10 10 20 11 15 16 8 104 合計(2) 105 合計(3) 106 107 108 回数 平均(1) 109 26 平均(2) シート2は、シート1で抽出された数値をコピーした表です。 A列は今回の回数、25となっております。この数値はこれより上に24回分の表があり、今回が25回目という意味です。 107行目以降も26、27、28と回数は続いていますが、現状では25が最新とし、108行以降は数値はなく、空白とします。 それぞれ平均、合計共に、シート1で3回抽出し、それぞれ別の数値が入るものとします。 これまでは、シート1で抽出後、手動でコピーし、シート2の該当セルに貼り付ける、という作業でした。 シート1 → シート2 のコピーにマクロを使用したいのですが 回数が25の場合、シート2でA列を検索し、さらに抽出内容が”平均”1回目だった場合 平均(1)にコピーし、2回目だった場合平均(2)にコピーする、といった具合です。 イメージとしては、シート1に、(1)、(2)、(3) と、それぞれ入ったリストボックスなどがあり [平均][合計] のそれぞれボタンがあり、(1)を選び、平均を押すと100行目の平均(1)に入り 合計を押すと、103行目の合計(1)に数値が入る。と、いうような感じです。 この説明で私の意図するところが伝わるか不安ではありますが、このような場合に使えるマクロの式がございましたら ご教示いただけませんでしょうか^^; 実際の表とは若干ちがいますが、大まかなイメージとしては上に書いてある通りです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
こんな冗長な質問文では読む気が起こらない。 >数値を別シートに移したいのですが A.シート丸ごとコピー B、セル範囲をコピー C。張り付け先セルはコピー元のセルと同じか D。数式は除くとか、書式、数式などはどうするのか E、1セルづつ(判別して)コピー先のセルに代入 などあるが X.コピー元には条件が付くのか、その条件は (コピーするのは、シートのセルの1部か、それの判別法は) Y。コピー先に持っていくとき修正は必要か これらを参考に質問文を再度表現しなおしてもらえませんか。
補足
失礼しました^^; 無駄に長く、意味もわかりにくかったようです。 要はシート1の数値をシート2の任意の場所に代入できればいいんですが。 数式、書式などは除き、数値のみコピーが希望です。 コピー時の条件ですが、上の例ですとシート1の抽出内容によるのですが 関数でしたら、まずMATCH関数でシート2のA列で25を検索し A101 が検索されます。A101を基準にOFFSET関数のような感じで各セルに代入するような感じにしたいのです。 コピー先に持っていくときに、特に修正は必要ないです。