首页 文章

将值复制到包含不删除公式的公式的工作表

提问于
浏览
0

我有两个工作表:Sheet1和Sheet2 . Sheet1有原始数据(没有任何公式),Sheet2在某些单元格中有公式 . 是否可以将Sheet1中的值复制到Sheet2而不从Sheet2中删除公式?

我使用以下代码将值从sheet1复制到sheet2 . 复制值后,Sheet2中的公式将被删除 .

i = 2

With Sheets(1)
   'loop column A 
   For Each Cell In .Range("A2:A" & .Cells(.Rows.Count, "A").End(xlUp).Row)
      .Rows(Cell.Row).Copy Destination:=Sheets(2).Range("A" & i)
      i = i + 1
   Next Cell
End With

1 回答

  • 1

    此代码不会对整行进行复制,但会循环遍历原始数据中行中的每个单元格,并且只有在另一个工作表中的同一单元格中才会复制该值,而且没有公式存在:

    Sub TestForFormula()
    
    Dim X As Long
    Dim CL As Range, RNG As Range
    
    For X = 2 To Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
        Set RNG = ActiveSheet.Range(Cells(X, 1), Cells(X, ActiveSheet.Cells(X, Columns.Count).End(xlToLeft).Column))
        For Each CL In RNG
            If Sheets(2).Cells(X, CL.Column).HasFormula = False Then
                Sheets(2).Cells(X, CL.Column).Value = Sheets(1).Cells(X, CL.Column).Value
            End If
        Next CL
    Next X
    
    End Sub
    

相关问题