Копировать значения, а не формулы в одном листе
Я хочу скопировать три ячейки ("N2", "N3" и "N4") в конкретном листе в три другие ячейки ("P2", "P3" и "P4") в том же листе. В настоящее время единственное значение, которое копируется правильно, это ячейка "N3". Ячейка "P4" пуста, а ячейка "P2" просто содержит "0:00" (используя формат [t]:mm). Как сделать так, чтобы все ячейки копировались правильно? Вы можете увидеть код ниже. Также пытались использовать ".copy" и ".PasteSpecial xlPasteValues", но это тоже не сработало.
Private Sub adjustSheets()
Dim ws As Worksheet
Dim cnt&, lRow&, sRow&
Dim formula$
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Sheets
If ws.Range("Z1") <> "Specific_Sheet" Then GoTo ContLoop
ws.Range("Block").EntireRow.Delete
With ws
lRow = .Cells(Rows.Count, "B").End(xlUp).row
cnt = 1
formula = vbNullString
For sRow = 12 To lRow Step 7
If cnt = 1 Then
formula = "="
Else
formula = formula & "+"
End If
formula = formula & Replace("SUM(C#:I#)", "#", sRow)
cnt = cnt + 1
Next
' apply formula
.Range("N4").formula = formula
.Range("P2").Value = .Range("N2").Value
.Range("P3").Value = .Range("N3").Value
.Range("P4").Value = .Range("N4").Value
End With
ContLoop:
If ws.Visible = xlSheetVisible Then Application.Goto ws.Range("A1"), True
Next
End Sub
Любая помощь приветствуется.