- 締切済み
データをコピーするマクロを教えてください。
「入力用シート」に毎月データを入力し、出た値(例えばA1に値が出るとすると)を、別の「記録用シート」に月別にデータをコピーする“マクロ”を教えて下さい。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- fujillin
- ベストアンサー率61% (1594/2576)
このままだと「丸投げ」なので・・・ <方法1> ・「ツール」-「マクロの記録」でやりたいことを、手動で行い「記録を終了」 ・上記で7、8割のものはできるので、これをいじってみる。 ・その上で、「こうしたいのだけれどどうすれば?」と質問なさってはいかがでしょうか <方法2> ・「入力シートの原本(無記入)」を作成しておく。(必要に応じて非表示) ・月初めにこれをコピーして「○○月」の入力用シートとして使用 ・集計時にはこれをそのまま「記録用シート」として利用。次月のものをコピーで新規作成 ・月別に1シートで集計したい場合は、集計シートを別に作り、参照式を事前に設定しておけば自動的に集計される (この方法であれば、マクロなど不要になります。) ほぼ同じような質問が、過去ログにもあったと思いますが・・・
- imogasi
- ベストアンサー率27% (4737/17069)
実例でも挙げて説明しないと、質問内容がよくわからない。 >月別にデータをコピーする とは >データを入力し、出た値(例えばA1に値が出るとすると) A1はA1以外の他セルのデータを使って計算でもして、表示されていることですか。 こんなの書く必要は無いのでは。式のあるセルをコピーすると、式によっては変わってしまうことはあるが、値だけの貼り付けでよいのか、など疑問あり。 一般にマクロの記録をとれば済む問題ではないのですか。やってみましたか。
補足
質問が抽象的で申し訳ありません。 過去に同じような質問と回答があり(QNo.322746)その通りにコーディングしてみましたが、うまく出来ません。どこが違うのか教えてください。よろしくお願いします。 下記テストデータ(Sheet1)のBの6月分のデータ(b3~b6)が毎月変わるので、(Sheet2)に、入力後その月分のデータを年次表へコピーしたいのです。 【過去の質問】 excelで同一ブック内にあるSheet(1)の数値をSheet(2)へ値のみコピーしたいのですが。 (1)Sheet(1)で月報を作成 (2)Sheet(2)の年表へ値のみコピー(転写)。 但し、条件として○○月分とsheet(1)で表示しているものを参照し、Sheet(2)年表の○○月分のセル(○○:○○)にその値を転写したいと思っています。 当方、マクロ等よく分かりませんのでよろしくご教示下さい。 【回答】 テストデータ(Sheet1)ABは行・1~6は列 A B 1 月次表 5月分 2 項目名 計数 3 売上高 1230 4 受手数料 35 5 人員数 37 6 人件費 15 (以下略) テストデータ(Sheet2) Sheet2のデータ部分は空白にして、実行して下さい。 年次表 A B C D 1 4月分 5月分 6月分 7月分 (以下略) 2 項目名 計数 計数 計数 計数 3 売上高 1230 1520 4 受手数料 35 45 5 人員数 37 38 6 人件費 15 16 (以下略) 上記は実行結果です。5月、6月でやって見ました。 シートからALTキーを押しながら、ゆっくりF11、I、Mを 押しModele1を挿入。 (コーディング) Sub test01() For i = 2 To 14 If Worksheets("sheet2").Cells(2, i) = Worksheets("sheet1").Cells(1, 3) Then '前行にくっ付ける For j = 3 To 20 Worksheets("sheet2").Cells(j + 1, i) = Worksheets("sheet1").Cells(j, 2) '前行にくっ付ける Next j Exit For End If Next i End Sub iの14は12か月プラス上、下期小計の2列 jの20は項目の最下行の行番号を仮に20とした。
お礼
fujillin様へ 早速にご回答いただきありがとうございます。 ご指摘のとおり同じ内容のログ(QNo.322746)がありましたので、 それを参照してやってみます。