如果满足条件,将文本从 excel 个单元格复制到单词
Copy text from excel cell to word if condition is met
我正在设计一个 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
但是您仍然需要在粘贴的每个值之间添加一些内容。
我正在设计一个 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
但是您仍然需要在粘贴的每个值之间添加一些内容。