人生で一番思い出に残ってる靴

sheet1にButton1 があり、そのボタンを押すと、マクロスタート
元データはsheet1にあります。
貼り付け先はsheet2となります。
sheet1のB列に日付が入っています。
sheet1にはその日その日ごとにデータが毎日追加されていきます。
Button1を押すと「B列の日付が本日のときのデータ」をシート2に追加したい。
但し、元データのD列のプラス値とマイナス値も同時に振り分けたい。
次の日、またデータをsheet1に入力しButton1を押すとsheet2の前日のデータの下に追加したい。
このような動作をするマクロ作りたいのですが全くうまくいきません。
どなたかご教授いただけると大変助かります。
(見にくいですが下図が元データとマクロ後のイメージです)

元データはSHEET1           マクロ動作後のSHEET2のイメージ      
B列  C列   D列         B列  C列  D列     F列   G列  H列
7/29 Aさん  10        Aさん  10  7/29    Bさん  -5   7/29
7/29 Bさん  -5        Dさん  16  7/31    Cさん  -3   7/30
7/30 Cさん  -3   ーー→  Aさん  1   8/1     Cさん  -8   7/31
7/31 Cさん  -8        Dさん  8   8/1
7/31 Dさん  16 
8/1  Aさん  1
8/1  Dさん  8

A 回答 (2件)

No.1です。



本日限定!というコトだったのですね。
どうも失礼しました。

前回のコードの
>For i = 2 To wS.Cells(Rows.Count, "B").End(xlUp).Row
の次に
>If wS.Cells(i, "B") = Date Then


>Next i
の前に
>End If

を追加してみてください。

上記2行を追加すればおそらく大丈夫だと思います。

※ とりあえず通常マクロのコードにしていますが、
「コマンドボタン」(←?)のコードにするだけでOKです。m(_ _)m
    • good
    • 1
この回答へのお礼

tom04さん
こんばんは!!!
感謝感激です。
早速試してみました。
ちょうど日付が変わったのでうまいこと昨日、今日の検証できました。
Perfectです。
こういうことが得意な方っていらっしゃるんですね~
頭の固い初老の私にはこんなに簡単にマクロ組めることがうらやましい限りです。
また機会がありましたら是非お知恵をお貸しください。
本当にありがとうございました。

お礼日時:2020/08/02 00:12

こんばんは!



一例です。
尚、Sheet2のD・H列の表示形式は好みの日付にしておいてください。

Sub Sample1()
 Dim i As Long
 Dim wS As Worksheet
  Set wS = Worksheets("Sheet1")
   With Worksheets("Sheet2")
    For i = 2 To wS.Cells(Rows.Count, "B").End(xlUp).Row
     If wS.Cells(i, "D") >= 0 Then
      With .Cells(Rows.Count, "B").End(xlUp).Offset(1)
       .Value = wS.Cells(i, "C")
       .Offset(, 1) = wS.Cells(i, "D")
       .Offset(, 2) = wS.Cells(i, "B")
      End With
     Else
      With .Cells(Rows.Count, "F").End(xlUp).Offset(1)
       .Value = wS.Cells(i, "C")
       .Offset(, 1) = wS.Cells(i, "D")
       .Offset(, 2) = wS.Cells(i, "B")
      End With
     End If
    Next i
   End With
End Sub

※ Sheet1のD列が「0」の場合はどちらにするかが不明ですが、
とりあえず「0以上」がSheet2のB列以降としています。m(_ _)m
    • good
    • 1
この回答へのお礼

こんばんは。
こんなに早く回答いただけるとは感激です!
早速試させていただきました。
最終的に出来上がるSHEET2のアウトプットイメージはドンピシャなんですが、私の説明が下手でうまく伝わらない部分があったようです。

Button1を押すと「B列の日付が本日のときのデータ」をシート2に追加したい。例えば、7/31にSHEET1へデータを入力しButton1を押すとその日のデータ(Dさんの16、Cさんの-8)がSHEET2の前日のデータの下に足され、次の日に8/1のデータをSHEET1に入力しButton1を押すとその日のデータ(Aさんの1、Dさんの8)がその下の行に追加されていくといった感じで、Button1を押されるとその日のデータがSHEET2に足されていくイメージです。
説明がわかりずらいですよね。言葉足らずで大変申し訳ありませんでした。
さらなるお知恵を拝借できると大変助かります。

お礼日時:2020/08/01 23:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!