VBA:如何计数(读取)单元格? 将数据从Excel导出到Word

我想通过读取(计数)Excel中的单元格将一些数据从Excel导出到Word。 我想用循环来自动读取这些单元格。

 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 

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