将公式结果从一个范围复制到另一个工作表

时间:2015-03-21 15:47:08

标签: excel vba excel-vba

此公式位于一张纸上,从同一张纸上的另一列中提取值。

sFRM = "=IF(ISNUMBER(SEARCH('IAV',RC[-2])),MID(RC[-2],FIND('IAV',RC[-2])+6,11),'')"

With Sheets("sheet2")
     Set rngOfFindings = .Range(.Range("m2"), .Range("m2").End(xlDown))
     lr = .Cells(Rows.Count, "A").End(xlUp).Row
     .Range("o2:o" & lr).FormulaR1C1 = Replace(sFRM, Chr(39), Chr(34))
End With

我想复制值范围“公式的结果”,到目前为止我还没有得到正确的陈述。这就是我的意思;结果复制公式本身。

With Sheets("sheet2")
     Set RangeToCopy = Sheets("sheet2").Range("o2", ColumnLetterNumber)
End With

CurrentWorkbook.Worksheets("sheet2").Select
'copy this range to sheet1 for more processing
RangeToCopy.AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Sheets("sheet1").Range("g1"), Unique:=True

1 个答案:

答案 0 :(得分:1)

您需要使用.PasteSpecial来粘贴值,否则,您将获得公式,就像您发现的那样。