首页 > 解决方案 > 我正在寻找一种将基于标准的单元格公式复制到特定工作表的方法

问题描述

我对 VBA 编码非常陌生,之前没有编码经验。我主要采用我找到的代码并对其进行修改以满足我的需要。

我目前正在使用这一位 VBA 来确定需要从“主列表”复制哪些行并将它们复制到指定的工作表:

Sub MovePerson()
With Application
.ScreenUpdating = True
.EnableEvents = False
End With

Sheet1.Activate

Dim RNG As Range

Set RNG = Range([C1], Range("C" & Rows.Count).End(xlUp))

On Error Resume Next

   With RNG
.AutoFilter , field:=1, Criteria1:="Name"
.SpecialCells(xlCellTypeVisible).EntireRow.Copy Sheets("Persons Name").Range("A1")
.AutoFilter
End With

Application.EnableEvents = True

 End Sub

本质上,我拥有的是一个多人输入的工作表。我正在使用它来获取人们的特定条目并将它们导出到工作表以进行分析。我有一个“更新”按钮,我按下它为每个进入“Sheet1”工作表的人运行这段 VBA。

我的问题是我需要 MovePerson 子来复制单元格公式,而不仅仅是单元格中的文本。我尝试过使用不同的 VBA 复制功能,但是每次我点击“更新”按钮时都会多次复制相同的条目。

对此的任何帮助将不胜感激。

谢谢!

标签: excelvba

解决方案


如果将复制和粘贴分开怎么办?然后你可以使用Range.PasteSpecial

With RNG
    .AutoFilter , field:=1, Criteria1:="Name"
    .SpecialCells(xlCellTypeVisible).EntireRow.Copy
    Sheets("Persons Name").Range("A1").PasteSpecial(xlPasteFormulas)
    .AutoFilter
End With

推荐阅读