
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) 【VBA】A列にある連続したデータの1番下に文字列を入力したい 1 2023/01/28 04:40
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
エクセルのソートについて
-
LEFT関数とIF関数の組み合わせ...
-
リストからデータを紐付けしたい
-
Accessのレポートで繰り返し表...
-
エクセルのソートで、数字より...
-
VBA 指定した列にある日時デー...
-
エクセルでB列とD列を比較させ...
-
条件付きの標準偏差をVBAを用い...
-
VBA 列の削除を何回か繰り返す...
-
エクセルで複数列の検索をマク...
-
【VBA】ピボットテーブルの範囲...
-
EXCELマクロ 本日のデータを別S...
-
エクセルマクロPrivate Subを複...
-
Excel文字列一括変換
-
CSVファイルの「0落ち」にVBA
-
VBA配列 列を指定する方法について
-
エクセル 1つのシートを日付で...
-
【Excel VBA】条件を満たすデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
VBA 指定した列にある日時デー...
-
Excelの行数、列数を増やしたい...
-
CSVファイルの「0落ち」にVBA
-
列方向、行方向の定義
-
エクセルのソートで、数字より...
-
Excel文字列一括変換
-
VBAで別ブックの列を検索し、該...
-
エクセル マクロ 範囲の値を上...
-
VBAで重複データを合算したい(...
-
エクセル マクロ 範囲指定で...
-
VBAで結合セルを転記する法を教...
-
エクセルで最初の行や列を開け...
-
エクセルマクロPrivate Subを複...
-
土日の列幅の自動変更を教えて...
-
最近急にVBAの処理速度が遅くな...
-
エクセルでセル12個間隔で合...
おすすめ情報