如何复制整行(绝对引用)

时间:2013-07-23 23:33:28

标签: excel-vba vba excel

我必须制作一个复制Excel工作表(包括绝对参考或公式)的整行的宏,并根据比较将它们粘贴在下部。我的意思是,我不仅要复制单元格的内容,还要复制绝对引用或公式,因此如果单元格被修改,则更改将反映在我复制单元格的部分。将根据字符串中的文本与要复制的行的单元格之间的比较来复制行。到目前为止,棘手的部分是如何复制绝对参考或公式

这是我到目前为止的代码......

 Sub Foo()
    Dim i As Long, iMatches As Long
    Dim aTokens() As String
    aTokens = Split("DCV-", ",")
    For Each cell In ActiveSheet.Range("I1:I104")
       If (Len(cell.Value) <> 0) Then
          For i = 0 To UBound(aTokens)
             If InStr(1, cell.Value, aTokens(i), vbTextCompare) Then
                iMatches = (iMatches + 1)
                ActiveSheet.Rows(cell.Row).Copy ActiveSheet.Rows(iMatches + 105)
                'Sheets("DP_PA 9.70 REV").Rows(cell.Row).Copy Sheets("DP_PA 9.70 REV").Rows(iMatches + 105)
             End If
          Next
       End If
    Next
 End Sub

2 个答案:

答案 0 :(得分:0)

如果要制作保留所有单元格引用的公式(或公式)的精确副本,可以使用以下内容:

With Worksheets("Sheet1")
    Range("A20:B21").Formula = Range("A1:B2").Formula
End With

答案 1 :(得分:0)

如果要创建对数据的引用,您需要做的就是创建一个引用该单元格的公式。

尝试这样的事情:

FirstPartOfFormula = "='" & Sheet1.Name & "'!"
For C = 1 to 3
  Sheet2.Cells(R2, C).Formula = FirstPartOfFormula & Sheet1.Cells(R1, C).Address
Next C