VBA通过粘贴公式将值从一个工作簿转移到另一个工作簿

问题描述 投票:0回答:1

我希望将特定单元格的值从一个工作簿复制到另一个工作簿。我有下面的代码,但它只返回带有公式的单元格而不仅仅是值。我知道需要在pastespecial等地方添加一行,但不知道在哪里。有帮助吗?

    Sub PullClosedData()
On Error GoTo Errorcatch
   Dim filePath As String
Dim SourceWb As Workbook

Dim TargetWb As Workbook

Set TargetWb = ActiveWorkbook


Dim emptyRow As Long

emptyRow = Range("A" & Rows.Count).End(xlUp).Offset(1)


filePath = TargetWb.Sheets("results").Range("A1").Value
Set SourceWb = Workbooks.Open(filePath)



SourceWb.Sheets("8").Range("D36:G36").Copy 
Destination:=TargetWb.Sheets("Staff data").Range("a" & 
Rows.Count).End(xlUp).Offset(1)



 SourceWb.Close SaveChanges:=False

   MsgBox "Staff data sheet updated"
  Exit Sub
Errorcatch: MsgBox Err.Description
 End Sub
vba formula
1个回答
0
投票

你只想要价值观吗?

尝试更改以下行:

SourceWb.Sheets("8").Range("D36:G36").Copy Destination:=TargetWb.Sheets("Staff data").Range("a" & Rows.Count).End(xlUp).Offset(1)

至:

SourceWb.Sheets("8").Range("D36:G36").Copy
TargetWb.Sheets("Staff data").Range("a" & Rows.Count).End(xlUp).Offset(1).pastespecial xlPasteValues 'Or xlPasteValuesAndNumberFormats might suit you better.'

您还可以指定:

destinationrange.value2
 = sourcerange.value2

如果您只想要内部值。

© www.soinside.com 2019 - 2024. All rights reserved.