excel - 将内容从一个工作簿复制到另一个工作簿,以特殊方式粘贴
问题描述
我当前的 vba 代码从我当前的一张表中复制数据,并使用该表中的数据创建一个新工作簿。
Sub copying_data()
Dim FilePath As String: FilePath = ThisWorkbook.Path & "\"
Dim FName As String
FName = FilePath & "Summary_Output_" & _
Format(Date, "ddmmmyyyy") & ".xlsx"
ThisWorkbook.Sheets("AA_New").Copy
ActiveWindow.DisplayGridlines = False
ActiveWindow.Zoom = 110
ActiveWindow.Zoom = 120
Set NewBook = ActiveWorkbook
NewBook.SaveAs Filename:=FName
End Sub
这目前工作正常,但是当它粘贴数据时,它将它链接到旧工作表,而不是我希望它将数据粘贴为值但保持相同的格式,有没有办法做到这一点?
解决方案
首先添加文件,然后将特殊的值和格式复制并粘贴到新工作表中:
Sub copying_data()
Dim FilePath As String
FilePath = ThisWorkbook.Path & "\"
Dim FName As String
FName = FilePath & "Summary_Output_" & _
Format(Date, "ddmmmyyyy") & ".xlsx"
Dim swb As Workbook
Set swb = ThisWorkbook
Dim twb As Workbook
Set twb = Workbooks.Add
swb.Worksheets("AA_New").UsedRange.Copy
With twb.Worksheets(1).Range("A1")
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
End With
twb.Worksheets(1).Name = "AA_New"
twb.SaveAs Filename:=FName
End Sub
推荐阅读
- python - 在某些使用 Requests & BeautifulSoup 或 Selenium 的网站上不完整的 HTML 响应
- python - 在 Python 中编写 SQL 语句时出现列名无效的错误
- java - 读取并提取字符串中的多个 SQL 查询,并将它们存储在 Java 中的列表中
- python - Pandas str 方法不起作用:AttributeError:'PandasArray' 对象没有属性'_str_upper'
- java - 如何允许 Enter 键进入下一个文本字段?
- c - 枚举存储在哪里?
- haskell - 如何使用适当的 IO monad 打印无限列表中的每个项目
- java - 获取 SQLSyntaxErrorException:表在休眠中不存在
- excel - 查找具有 2 个条件的单元格行
- apache-flink - 非键控流的 Flink 检查点状态