下面是一个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

VBA复制工作簿A中某个区域选择性粘贴值和数字格式到工作簿B中某个固定区域并另存为当前路径下xlsx格式

原文地址: https://www.cveoy.top/t/topic/h21g 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录