• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロで過去日付分の計算式を値のみコピーする方法を探しています。)

マクロで過去日付分の計算式を値のみコピーする方法

このQ&Aのポイント
  • エクセルで1ヶ月分の在庫を管理する表を作成しています。重い計算式が入っているため、過去日付のものを確定したい。確定ボタンを押すと過去日付の商品出荷数をコピーして値で貼りつけるマクロを作成したい。
  • マクロで過去日付分の計算式を値のみコピーする方法を探しています。エクセルで1ヶ月分の在庫を管理している表には重い計算式が入っているため、過去日付のものを確定したい。確定ボタンを押すと過去日付の商品出荷数をコピーして値で貼りつけるマクロを作成したい。
  • エクセルで1ヶ月分の在庫を管理している表には重い計算式が入っているため、過去日付の商品出荷数を確定したい。確定ボタンを押すと過去日付の出荷数をコピーして値で貼りつけるマクロを作成したい。マクロで過去日付分の計算式を値のみコピーする方法を探しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.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

nqg54883
質問者

お礼

ありがとうございます。 早速、いろいろ勉強しながら試して、思い通りの作業ができました。 本当にありがとうございます。 こういうサイトがあり、みなさんが親切に教えてくださり、すごく助かります。 お礼が遅くなりすみませんでした。

その他の回答 (1)

回答No.1

可能です。 システムクロックで本日を求めて、過去の列範囲を求めます。 一般式は在庫数のセルに入っているのでしょうか。そこにデータをセットしてあげればよいでしょう。 ついでに前回確定を行った日付をどこかのセルに持っておけばその日付以降昨日まで行えば良いことになります。日付を書き換えれば再確定も出来ます。

nqg54883
質問者

お礼

早速の回答ありがとうございます。 しかし。。。理解できませんでした。 きっとすごくいい案をいただいてるのだとは思うのですが、私自身が勉強不足の為、どうしたらいいのかわかりません。。。 もしよろしければ、もう少し教えていただけないでしょうか。。。よろしくお願いします。 ちなみに、在庫数のセルにも計算式は入っています。 ただ、その部分は確定したくないので、出荷数の部分だけを確定する方法があれば教えてください。 わがままと勉強不足をお詫びします。

関連するQ&A

専門家に質問してみよう