excel - 如果满足条件,则将文本从 Excel 单元格复制到单词
问题描述
我正在设计一个excel工作表,如果满足每个单元格的条件,我可以将某些单元格中的文本添加到新的word文档中。
我的代码将单元格中的文本粘贴到新的 Word 文档中。但它总是替换上一个单元格中的文本。所以只有最后一个单元格是可见的。我该如何改变呢?
Private Sub CommandButton1_Click()
Dim WrdApp As Word.Application
Dim WrdDoc As Word.Document
Set WrdApp = New Word.Application
WrdApp.Visible = True
WrdApp.Activate
Set WrdDoc = WrdApp.Documents.Add
a = Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 6 To a
If Worksheets("Tabelle1").Cells(i, 5).Value = "Ja" Then
Worksheets("Tabelle1").Cells(i, 4).Copy
WrdDoc.Paragraphs(1).Range.PasteSpecial xlPasteValues
End If
Next
Application.CutCopyMode = False
End Sub
解决方案
您的问题是您可能将 6 次粘贴到完全相同的位置,导致该位置的文本每次都被替换。您需要考虑如果您在没有代码的情况下执行此任务会做什么,然后编写执行相同操作的代码。
你可以从改变开始:
WrdDoc.Paragraphs(1).Range.PasteSpecial xlPasteValues
至
WrdDoc.Characters.Last.PasteSpecial xlPasteValues
但是您仍然需要在粘贴的每个值之间添加一些内容。
推荐阅读
- c++ - 什么是 Eigen::array(不是 Eigen::Array)
- excel - 计算具有多列的范围的平均值
- wordpress - 通过 URL 查询两个 Wordpress 类别
- authentication - 微服务认证/授权
- postgresql - postgres重新启动后是否可以自动运行查询?
- java - 如何在多个活动和我的回收器适配器中使用方法
- visual-studio-code - 学校可以免费下载 Visual Studio Code 吗?
- c++ - 如何在VSCode上设置数据断点(即观察点)
- leaflet - 从外部 GeoJSON 导入传单标记
- c# - 在 Windows 10 C# 中更改 PC 名称