[英]How to get content from MS word cells with VBA and clean it for Excel
[英]VBA: How to Count(Read) Cells? Exporting Data from Excel to Word
我想通过读取(计数)Excel中的单元格将一些数据从Excel导出到Word。 我想使用for
循环来自动读取那些单元格。
Sub Macro1()
'initialize variables
'initialize MicrosoftWord App
Dim wordApp As Word.Application
'initialize Word document to open new documents
Dim wordDoc As Word.Document
'create an object to open the Word App
Set wordApp = CreateObject("word.application")
'if the word app is open equal to true
wordApp.Visible = True
'add data in word document
Set wordDoc = wordApp.Documents.Add
'export data from excel to word
'get the location of the data from the excel
'insert new line
wordDoc.Content.InsertAfter (Cells(1, 1)) & vbNewLine
wordDoc.Content.InsertAfter (Cells(1, 2)) & vbNewLine
wordDoc.Content.InsertAfter (Cells(1, 3)) & vbNewLine
wordDoc.Content.InsertAfter (Cells(1, 4))
End Sub
这样做:
Sub Macro1()
'initialize variables
Dim i As Long, n As Long 'counters
'number of columns in Excel
n = 4
'initialize MicrosoftWord App
Dim wordApp As Word.Application
'initialize Word document to open new documents
Dim wordDoc As Word.Document
'create an object to open the Word App
Set wordApp = CreateObject("word.application")
'if the word app is open equal to true
wordApp.Visible = True
'add data in word document
Set wordDoc = wordApp.Documents.Add
'export data from excel to word
'for every column (beginning 1, ending n)
' inserting into Word values of cells and a newline
For i = 1 To n
wordDoc.Content.InsertAfter (Cells(1, i)) & vbNewLine
Next
Set wordDoc = Nothing
Set wordApp = Nothing
End Sub
您只需要将n
设置为所需的列数即可。
或者更好,而不是n=4
我会使用类似:
n = Cells(1, Columns.Count).End(xlToLeft).Column
它计算第一行中已使用列的确切数量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.