- ベストアンサー
マクロで過去日付分の計算式を値のみコピーする方法
- エクセルで1ヶ月分の在庫を管理する表を作成しています。重い計算式が入っているため、過去日付のものを確定したい。確定ボタンを押すと過去日付の商品出荷数をコピーして値で貼りつけるマクロを作成したい。
- マクロで過去日付分の計算式を値のみコピーする方法を探しています。エクセルで1ヶ月分の在庫を管理している表には重い計算式が入っているため、過去日付のものを確定したい。確定ボタンを押すと過去日付の商品出荷数をコピーして値で貼りつけるマクロを作成したい。
- エクセルで1ヶ月分の在庫を管理している表には重い計算式が入っているため、過去日付の商品出荷数を確定したい。確定ボタンを押すと過去日付の出荷数をコピーして値で貼りつけるマクロを作成したい。マクロで過去日付分の計算式を値のみコピーする方法を探しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
日付がシリアル値で1行目に入っていて、出荷数が2行目、4行目等の偶数行に入っているとした場合、以下のサンプルコードでいけると思います。 Sub Sample() Dim nTargetCol As Long Dim i As Long Application.ScreenUpdating = False '画面更新停止 nTargetCol = Evaluate("MATCH(TODAY()-1,1:1,1)") '対象列を取得 For i = 2 To Range("A" & CStr(Rows.Count)).End(xlUp).Row Step 2 '偶数行を対象 Range(Cells(i, 2), Cells(i, nTargetCol)).Select '選択 Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues '値のみ貼り付け Application.CutCopyMode = False Next i Application.ScreenUpdating = True '画面更新再開 End Sub
その他の回答 (1)
- Hirorin_20
- ベストアンサー率20% (136/648)
可能です。 システムクロックで本日を求めて、過去の列範囲を求めます。 一般式は在庫数のセルに入っているのでしょうか。そこにデータをセットしてあげればよいでしょう。 ついでに前回確定を行った日付をどこかのセルに持っておけばその日付以降昨日まで行えば良いことになります。日付を書き換えれば再確定も出来ます。
お礼
早速の回答ありがとうございます。 しかし。。。理解できませんでした。 きっとすごくいい案をいただいてるのだとは思うのですが、私自身が勉強不足の為、どうしたらいいのかわかりません。。。 もしよろしければ、もう少し教えていただけないでしょうか。。。よろしくお願いします。 ちなみに、在庫数のセルにも計算式は入っています。 ただ、その部分は確定したくないので、出荷数の部分だけを確定する方法があれば教えてください。 わがままと勉強不足をお詫びします。
お礼
ありがとうございます。 早速、いろいろ勉強しながら試して、思い通りの作業ができました。 本当にありがとうございます。 こういうサイトがあり、みなさんが親切に教えてくださり、すごく助かります。 お礼が遅くなりすみませんでした。