先日からこちらで何度かアドバイスをいただいております。
https://teratail.com/questions/257404
目的のシートを開いて、データを転記させるところまではできました。
ここでまたできないことがあり、教えていただきたく質問させていただきました。
転記をする内容は6行ひとかたまりのデータ2つです。
A8からO19までで、A8からO13までのかたまり(1ヶ月分、計算式あり)と、A14からO19までのかたまり(1ヶ月分、計算式あり)です。
A列には年月が入っておりますが、A8からA13は同じ年月、A14からA19はその翌月のデータが入っています。
転記をするのはA8からE19、H8からH19、K8からK19、M8からM19です。
画像のA列と青いセルが転記したい場所です。
転記をする際、転記先のデータの最下部に6行ひとかたまり(1ヶ月分、計算式あり)を追加して、
今月と先月の2ヶ月分を転記したいと思っております。
問題は6行ひとかたまりを増やす方法がわからない点です。
現在のコードのどこに何を追加したら6行分増やして2ヶ月分の転記ができるようになりますでしょうか?
ご教授のほど、よろしくお願いいたします。
Sub 転記() Dim rngFrom As Range Dim rngTo As Range Dim rngLast As Range Dim c As Range Dim ixRow As Long Dim ixCol As Long Dim wb1 As Workbook Workbooks.Open Filename:= _ "C:\Users\ファイル\" & Range("C1").Value Set wb1 = ActiveWorkbook Set rngFrom = ThisWorkbook.Worksheets("Sheet1").Range("A8:O19")With wb1.Worksheets("個別データ") Set rngLast = .Cells(.Rows.Count, 1).End(xlUp) End With With rngFrom Set rngTo = rngLast.Resize(.Rows.Count, .Columns.Count).Offset(1 - .Rows.Count) End With Set rngTo = rngTo.Range("A1:E12,H1:H12,K1:K12,M1:M12") For Each c In rngTo If IsEmpty(c.Value) Then ixRow = c.Row - rngTo.Row + 1 ixCol = c.Column - rngTo.Column + 1 rngTo(ixRow, ixCol).Value = rngFrom(ixRow, ixCol).Value End If Next Application.DisplayAlerts = False ActiveWorkbook.Close True Application.DisplayAlerts = True End Sub
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/07 07:03
2020/05/07 09:36
2020/05/07 09:52
2020/05/07 10:00
2020/05/07 10:09
2020/05/07 10:16
2020/05/07 22:04
2020/05/08 00:51