Excel에서 매크로를 사용하여 셀을 반복하고 Word의 템플릿에 데이터를 씁니다. 데이터를 가져 오기 위해 더 많은 셀을 추가하기 전까지는 모든 것이 완벽하게 작동했습니다. 모든 것이 여전히 잘 작동합니다. "j"라는 이름의 변수가 25가되면 "런타임 오류 '5941': 컬렉션의 요청 된 멤버가 존재하지 않습니다."라는 오류 메시지가 나타납니다.Excel 셀을 반복하여 Word에 쓰기
저는 여러 행과 열을 사용하여 놀았으며 모든 조합이 작동합니다. "j
"이 25에 도달 할 때만 오류가 발생합니다. 그것이 wrd.ActiveDocument.Tables(1).Rows(j)
... 라인에 도달하면 실패합니다.
Sub Label_ExcelToWord_Single()
'Variable that stores file path for
'word template
Dim strpath As String
strpath = Cells(28, 8)
'opens Microsoft Word to edit template
Call OpenWord
Set wrd = GetObject(, "Word.Application")
wrd.Visible = True
wrd.Activate
wrd.ActiveDocument.Close savechanges:=False
wrd.Documents.Open strpath
'Variables used for loop data manipulation
Dim k As Integer
Dim j As Integer
k = 1
j = 1
'Primary loop responsible for exporting Excel
'data to word template
For Col = 1 To 3
For Row = 3 To 32
wrd.ActiveDocument.Tables(1).Rows(j).Cells(((Row - 3) Mod 7) + k).Range.Text = Cells(Row, Col) & vbCrLf & Cells(Row, Col)
If k = 7 Then
k = 0
j = j + 2
End If
If Col = 3 Then
If Row = 32 Then
'When we reach the last cell containing data exit routine
Exit Sub
End If
End If
k = k + 1
Next
Next
End Sub
테이블 (1)에는 몇 행이 있습니까? 표 (1)에 24 개의 행이 있으면 이러한 오류가 발생할 수 있습니다. – xidgel