首页 > 解决方案 > 如果满足条件,则将文本从 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

标签: excelvbams-word

解决方案


您的问题是您可能将 6 次粘贴到完全相同的位置,导致该位置的文本每次都被替换。您需要考虑如果您在没有代码的情况下执行此任务会做什么,然后编写执行相同操作的代码。

你可以从改变开始:

WrdDoc.Paragraphs(1).Range.PasteSpecial xlPasteValues

WrdDoc.Characters.Last.PasteSpecial xlPasteValues

但是您仍然需要在粘贴的每个值之间添加一些内容。


推荐阅读