
エクセル 日報売上を月報に展開するマクロで困っております。
準備するシート
(1)日報入力シート
(2)月報売上シート
日報入力シートに作ったボタンを押すとB3の日付(今日)と月報売上シートA列の2~31に用意された日付(1ヶ月分)を参照する
一致した場所(B列~D列)に 入力シート B7:D7のデータを貼り付ける作業を考えております。
以下は過去の事例を参考にさせて頂きました。日付が横軸ですが、目的は縦軸です。
日報入力は1回のみですので、重複はなく1行ずらす処理は必要ありません。
ご教示頂けば助かります。
よろしくお願い致します。
Sub ボタン1_Click()
Dim FRng As Range
Dim Rw As Long
With Sheets("月報売上シート")
If Range("B3").Value = "" Then
MsgBox "入力日を記入してください。", vbExclamation
Exit Sub
End If
Set FRng = .Rows(1).Find(Range("B3").Value, lookat:=xlWhole)
If Not FRng Is Nothing Then
Rw = .Cells(Rows.Count, FRng.Column).End(xlUp).Row
If Rw < 3 Then Rw = 3 Else Rw = Rw + 1
.Cells(Rw, FRng.Column).Resize(, 3).Value = Range("B7:D7").Value
Else
MsgBox "転記先日付が 見つかりません。", vbCritical
Exit Sub
End If
End With
Set FRng = Nothing
MsgBox "転記しました。", vbInformation, "完了"
End Sub

No.1ベストアンサー
- 回答日時:
Private Sub Sample()
Dim lngMaxRow As Long
Dim NippoWs As Worksheet
Dim GeppoWs As Worksheet
Dim rng As Range
Dim lngRow As Long
Dim lngCol As Long
Set NippoWs = Workbooks(ThisWorkbook.Name).Sheets("日報入力")
Set GeppoWs = Workbooks(ThisWorkbook.Name).Sheets("月報売上")
lngMaxRow = GeppoWs.Cells(Rows.Count, 1).End(xlUp).Row
Set rng = GeppoWs.Range("A:A").Find(NippoWs.Cells(3, 2))
If NippoWs.Cells(3, 2) = "" Then
MsgBox "日付が入力されていません"
Exit Sub
ElseIf rng Is Nothing Then
MsgBox "日付がありません"
Exit Sub
End If
lngRow = 0
For lngRow = 1 To lngMaxRow Step 1
If NippoWs.Cells(3, 2) = GeppoWs.Cells(lngRow, 1) Then
GeppoWs.Cells(lngRow, 2) = NippoWs.Cells(6, 2)
GeppoWs.Cells(lngRow, 3) = NippoWs.Cells(6, 3)
GeppoWs.Cells(lngRow, 4) = NippoWs.Cells(6, 4)
End If
Next
End Sub
こんな感じでどうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) マクロで行を追加、削除すると行位置がずれますが、解決方法はありませんか?。 5 2022/05/28 16:03
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】【配列】3つのシー...
-
【条件付き書式】countifsで複...
-
マクロで数式を書き換えたい。
-
エクセルVBA 行追加時に自...
-
Excelのシート保護をした状態で...
-
Excelに自動で行の増減をしたい...
-
エクセル マクロ 同book内に...
-
IV列以上の列
-
エクセルで、チェックボックス...
-
異なるシートに自動的に書き込...
-
シートをまたぐ条件付き書式に...
-
文字の色も参照 VLOOKUP
-
エクセルの関数の使い方(ルッ...
-
エクセル・LOOKUPで、不...
-
エクセルVBAで、検索・抽出の仕...
-
エクセルのセルはいくつまで使...
-
SUMPRODUCTにて別シートのデー...
-
Excel データの並び替え
-
元のシートから必要な部分を抜...
-
Excelマクロのコンボボックスに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】【配列】3つのシー...
-
文字の色も参照 VLOOKUP
-
【条件付き書式】countifsで複...
-
ExcelのVlookup関数の制限について
-
エクセルの保護で、列の表示や...
-
Excelのセルの色を変えた行(す...
-
エクセルで、チェックボックス...
-
VBAで繰り返しコピーしながら下...
-
シートをまたぐ条件付き書式に...
-
Excelでの並べ替えを全シートま...
-
Excel の複数シートの列幅を同...
-
エクセルの列の限界は255列以上...
-
SUMPRODUCTにて別シートのデー...
-
VLOOKアップ関数の結果の...
-
excel 複数のシートの同じ場所...
-
【VBA】複数のシートの指定した...
-
Excelに自動で行の増減をしたい...
-
エクセル マクロ 標準モジュー...
-
Excel 2段組み
-
スプレッドシートでindexとIMPO...
おすすめ情報
早速にご返答ありがとうございました。
月報売上シートのカレンダーはマクロでするのではなく、
関数を利用し、任意のセルに年と月を入力すると、
A列に日付(標準の数値)
B列に曜日(関数式)
が入る万年カレンダーを作成しようと考えております。
よってA列の数値を参照させたいと思います。
その場合の変更はどのようになりますでしょうか?
お手数おかけしますがよろしくお願い致します。