Копировать значения, а не формулы в одном листе

Я хочу скопировать три ячейки ("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

Любая помощь приветствуется.

0 ответов

Другие вопросы по тегам