我需要一些进一步的帮助来开发我的代码。在一些早期的帮助下,我现在已经掌握了基础知识,但我不确定下一部分。
我正在设计的代码将在电子表格中运行,其中工作表中使用的行数将根据所使用的数据量而有所不同。 (由于商业性质和挪威法律,我无法详细说明。)
我想要 B5:B1000
的范围作为标准范围,只有包含数据的单元格会自动填充到模板中,但我不确定如何编写所述代码。有人可以告诉我如何解决这个问题吗?
所有与此相关的问题都基于从一张纸复制到另一张纸。
到目前为止,这是我在 excel 中使用的代码:
Sub CopyRangeToWord()
Dim objWord
Dim objDoc
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("C:\Users\CoffeeFuelsMeNow\Documents\Custom Office Templates\EVERYTHING IS AWESOME.dotx")
Range("B5:B92").Copy
With objDoc.Paragraphs(objDoc.Paragraphs.Count).Range
'All formatting goes here
.PasteAndFormat (wdFormatPlainText)
End With
objWord.Visible = True
End Sub
最佳答案
这假定列 乙紧凑(数据中没有漏洞):
Sub CopyRangeToWord()
Dim objWord, N As Long
Dim objDoc
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.documents.Add
N = Cells(Rows.Count, "B").End(xlUp).Row
Range("B5:B" & N).Copy
With objDoc.Paragraphs(objDoc.Paragraphs.Count).Range
'All formatting goes here
.PasteAndFormat (wdFormatPlainText)
End With
objWord.Visible = True
End Sub
关于vba - 仅将带有数据的单元格从 Excel 复制到 Word,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47182107/