約30枚のワークシート(月の日)と各シートがあります
A293:AL293
各ワークシートの範囲ANDの値をアクティブなシートにコピーしたいと思いますA296:AL296
(たとえば、月の1日から30日までの連続した行)。
これらの範囲は、 それぞれMIN
とPERCENTILE
式を使用します。ただし、マクロを実行すると、実際のセル値の代わりに数式がコピーされるため、セルに!REFエラーが含まれます。
数式の代わりに値をコピーして貼り付けるようにマクロを変更するにはどうすればよいですか?
30枚のシートから1枚のシートにデータをコピーして貼り付けるために使用した別のマクロから変更したコードは次のとおりです。
Sub test()
Dim curRow As Integer
Dim activeWorksheet As Worksheet
Set activeWorksheet = ActiveSheet
curRow = 1
For Each ws In ActiveWorkbook.Worksheets
If Not ws.Name = activeWorksheet.Name Then
ws.Range("A293:AL293").Copy Destination:=activeWorksheet.Range(CStr(curRow) & ":" & CStr(curRow + 288))
curRow = curRow + 289
End If
Next ws
End Sub
私が見つけた別のコードは次のとおりです。
Option Explicit
Sub CreateTempPSDReport()
Dim WS As Worksheet, Rept As Worksheet
Set Rept = Sheets("Temporary PSD Report")
Application.ScreenUpdating = False
'--> Loop through each worksheet except the report and
'--> Copy the set range to the report
For Each WS In ThisWorkbook.Worksheets
If Not WS.Name = "Temporary PSD Report" Then
WS.Range("A42", "I42").Rows.Copy
Rept.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Next
Application.ScreenUpdating = True
End Sub
しかし、私は何がわからない
WS.Range("A42", "I42").Rows.Copy
Rept.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
部分はありません。
ありがとう!