VBA复制工作簿A中某个区域选择性粘贴值和数字格式到工作簿B中某个固定区域并另存为当前路径下xlsx格式
下面是一个VBA代码示例,可以实现将工作簿A中的某个区域选择性粘贴值和数字格式到工作簿B中的固定区域,并将其另存为xlsx格式。
Sub CopyPasteValuesAndFormats()
Dim wbA As Workbook
Dim wbB As Workbook
Dim wsA As Worksheet
Dim wsB As Worksheet
Dim copyRange As Range
Dim pasteRange As Range
Dim savePath As String
' 设置工作簿A和工作簿B
Set wbA = ThisWorkbook ' 当前工作簿A
Set wbB = Workbooks.Add ' 新建工作簿B
' 设置工作表A和工作表B
Set wsA = wbA.Worksheets("Sheet1") ' 修改为具体的工作表名
Set wsB = wbB.Worksheets("Sheet1") ' 修改为具体的工作表名
' 设置要复制的区域和要粘贴的区域
Set copyRange = wsA.Range("A1:B10") ' 修改为具体的复制区域
Set pasteRange = wsB.Range("C1") ' 修改为具体的粘贴区域
' 复制值和数字格式
copyRange.Copy
pasteRange.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
' 获取当前路径并另存为xlsx格式
savePath = ThisWorkbook.Path & "\" & "工作簿B" & ".xlsx" ' 修改为具体的文件名
wbB.SaveAs savePath, FileFormat:=xlOpenXMLWorkbook
' 关闭工作簿B
wbB.Close SaveChanges:=False
End Sub
在代码中,你需要根据实际情况修改以下部分:
wsA.Range("A1:B10"):要复制的区域范围。wsB.Range("C1"):要粘贴的固定区域。"工作簿B":要保存的工作簿B的文件名。
你可以将该代码复制到VBA编辑器中的一个模块中,并通过运行宏来执行它。在执行宏之前,请确保工作簿A是活动工作簿,因为代码中使用了ThisWorkbook来引用工作簿A
原文地址: https://www.cveoy.top/t/topic/h21g 著作权归作者所有。请勿转载和采集!