[[20141017140951]] 『〆機能をボタン一つで行いたい』(自転車) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『〆機能をボタン一つで行いたい』(自転車)

初めて投稿させていただきます。
急な在庫ソフトの不具合から在庫管理をエクセルに変更しました。
しかし当方初心者で、計算式の作成がわかりません。
コントロールツールボックスで、ボタンの作成まではできました。
ボタンのPrivate Sub 〜 End Sub 〜の部分を御教授願えないでしょうか?

     J       K          L        M       P       R
3 前月在庫数   当月入庫数 当月販売数  現在在庫数 累計販売数  更新日

現状このように並んでおり、以下の動作をボタン一つで行いたと考えております。
1 当月販売数が累計販売数に加算
2 当月入庫数、当月販売数が0にリセット
3 ボタンを押した時の現在在庫数が前月在庫数に
4 更新日にボタンを押した日付を表示

可能なのでしょうか?4以降5749まで商品名が並んでおります。急な対所でしかも現在このデータを使っており、専門用語もわからず、勉強不足であつかましいのですが、早急な対策をしなければならずお力添え願えればと思っております。

< 使用 Excel:Excel2003、使用 OS:Windows7 >


 ボタンを押す前と
 ボタンを押した後のデータを提示頂ければなんとかなると思いますよ。
 データは出来るだけ詳しく(大文字小文字区別、全角半角、文字列か数値か等)

(稲葉) 2014/10/17(金) 16:44


早速にご指示ありがとうございます。
データは、全て数値です。

ボタンを押す前の数値例(10月31日とします)です。

     J        K        L      M       P       R

 3 前月在庫数   当月入庫数 当月販売数  現在在庫数 累計販売数  更新日
 4       50             70             20         100     500      20141001 
 ・
 ・          
5749

11月1日にボタンを押したとして・・

     J        K        L      M       P       R

 3 前月在庫数   当月入庫数 当月販売数  現在在庫数 累計販売数  更新日
 4       100            0            0          100      520      20141101 
 ・
 ・          
5749

これで意図は伝わりますでしょうか?よろしく御願いいたします。
(自転車) 2014/10/17(金) 17:52


 意図は分かったのですが、別シートなのか、同じシートで上書きなのか・・・
 データは4行目固定なのか、5749行目なのか、途中までなのか・・・

 同じシートで固定なら
 Range("P4").Value = Range("P4").Value + Range("L4").Value
 Range("J4").Value = Range("M4").Value
 Range("R4").Value = Evaluate("TEXT(EOMONTH(""" & Format(Range("R4").Value, "@@@@/@@/@@") & """,0)+1,""YYYYMMDD"")")
 Range("K4:L4").Value = 0

 これでいいと思いますが、違いますよね?
(稲葉) 2014/10/17(金) 18:14


お忙しい中、2度もご返事いただき恐縮です。
早速試してみました。やはり、イメージとは違うようです。
言葉足らずで申し訳ございません。今一度ご説明いたします。

同じシートで4行目固定ではなく、同じシートで、4〜5749行目です。
つまり、5745品の商品があり4行で行った動作を
残り5行から5749行のすべてに同じ動作をさせたいのです。

実際ボタンを押してですが
L、Kに数値がある場合、どちらも0にリセットされません
そして、Mは現在在庫数なので、0以下にならないようにできますでしょうか?

日付は、Range("R4").Value = Dateで良いようです。

よろしくお願いいたします。


 マクロの記録でいいんじゃない?
    Sub Macro1()
        Range("L4:L5749").Copy
        Range("P4").PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd
        Range("M4:M5749").Copy
        Range("J4").PasteSpecial Paste:=xlPasteValues
        Range("K4:L5749").ClearContents
        Application.CutCopyMode = False
    End Sub

 >そして、Mは現在在庫数なので、0以下にならないようにできますでしょうか? 
 意味が分からん。
 今回の質問とどう関係あるの?
(稲葉) 2014/10/18(土) 05:57

ご指示通り入力して、思い通りにできました。
ありがとうございました。
本来の質問から逸れた質問をし紛らわせてしまい申し訳ございません。
ご指示通りの入力で、そちらも解決しましたので
かさねてお礼申し上げます。
ありがとうございました。助かりました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.