VBA: 如何计数(读取)细胞?将数据从 Excel 导出到 Word

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

它计算第一行中使用的列的确切数量。