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
No.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
tom04さん
こんばんは!!!
感謝感激です。
早速試してみました。
ちょうど日付が変わったのでうまいこと昨日、今日の検証できました。
Perfectです。
こういうことが得意な方っていらっしゃるんですね~
頭の固い初老の私にはこんなに簡単にマクロ組めることがうらやましい限りです。
また機会がありましたら是非お知恵をお貸しください。
本当にありがとうございました。
No.1
- 回答日時:
こんばんは!
一例です。
尚、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
こんばんは。
こんなに早く回答いただけるとは感激です!
早速試させていただきました。
最終的に出来上がるSHEET2のアウトプットイメージはドンピシャなんですが、私の説明が下手でうまく伝わらない部分があったようです。
Button1を押すと「B列の日付が本日のときのデータ」をシート2に追加したい。例えば、7/31にSHEET1へデータを入力しButton1を押すとその日のデータ(Dさんの16、Cさんの-8)がSHEET2の前日のデータの下に足され、次の日に8/1のデータをSHEET1に入力しButton1を押すとその日のデータ(Aさんの1、Dさんの8)がその下の行に追加されていくといった感じで、Button1を押されるとその日のデータがSHEET2に足されていくイメージです。
説明がわかりずらいですよね。言葉足らずで大変申し訳ありませんでした。
さらなるお知恵を拝借できると大変助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
列方向、行方向の定義
-
エクセル マクロ 範囲指定で...
-
Excelの列から検索して該当する...
-
Excelの行数、列数を増やしたい...
-
エクセルでセル12個間隔で合...
-
エクセルのソートで、数字より...
-
エクセルマクロの組み方
-
横軸を日付・時間とするグラフ化
-
【Excel VBA】条件を満たすデー...
-
リストからデータを紐付けしたい
-
エクセル 1つのシートを日付で...
-
ListViewで列を指定して表示さ...
-
VBAで結合セルを転記する法を教...
-
エクセルマクロPrivate Subを複...
-
【エクセルVBA】任意の画像フォ...
-
土日の列幅の自動変更を教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
Excelの行数、列数を増やしたい...
-
列方向、行方向の定義
-
VBA 指定した列にある日時デー...
-
エクセルマクロPrivate Subを複...
-
Excel文字列一括変換
-
エクセル マクロ 範囲指定で...
-
Alt+Shift+↑を一括で行うには、...
-
CSVファイルの「0落ち」にVBA
-
VBAで結合セルを転記する法を教...
-
エクセルで複数列の検索をマク...
-
リストからデータを紐付けしたい
-
横軸を日付・時間とするグラフ化
-
エクセルで最初の行や列を開け...
-
エクセルのソートで、数字より...
-
エクセルマクロの組み方
-
エクセルでセル12個間隔で合...
おすすめ情報