이 코드를 실행하면 코드에서 정의 된 두 셀 사이의 Excel에서 셀을 선택한 다음 특정 책갈피의 위치에 단어로 붙여 넣을 수 있습니다. 그러나 내가 코드를 실행하면 "start_of_text", "end_of_text"및 "Start_of_table", "End_of_table"사이의 첫 번째 셀에서 작동하지만 두 번째 textemarke.pastespecial (xlPasteall)에서 런타임 오류 '4198 '명령 실패.Excel에서 Excel로 복사하여 지나가는 명령 오류로 인한 오류
누구든지 의견이 있으십니까? 대신 textMarke.PasteSpecial
의
Dim rownum As Integer
Dim colnum As Integer
Dim startrow As Integer
Dim endrow As Integer
Dim textmarke
rownum = 1
colnum = 2
' Filtering for T1 line
ThisWorkbook.Worksheets("Template-Referenz-Produkte").Columns("A:A").AutoFilter Field:=1, Criteria1:="=<T1 Line>" _
, Operator:=xlOr
' Find eveything between start of text and end of text
With ThisWorkbook.Worksheets("Template-Referenz-Produkte")
For rownum = 1 To 10000
Do
If .Cells(rownum, 2).Value = "Start_of_text" Then
startrow = rownum + 1
End If
rownum = rownum + 1
If (rownum > 10000) Then Exit For
Loop Until .Cells(rownum, 2).Value = "End_of_text"
endrow = rownum - 1
'Select everything from start of text to end of text
ThisWorkbook.Worksheets("Template-Referenz-Produkte").Range("B" & startrow & ":B" & endrow).Copy
'Paste description from excel sheet
Set textmarke = doc.Bookmarks("INSERT_T1_LINE_reference_TABLE").Range
textmarke.PasteSpecial (xlPasteAll)
textmarke.Style = "Heading 4"
doc.Bookmarks.Add "INSERT_T1_LINE_reference_TABLE", textmarke 'Set the text marker on this specific range.
' Find everything between start of table and end of table
Do
If .Cells(rownum, 2).Value = "Start_of_table" Then
startrow = rownum + 1
End If
rownum = rownum + 1
If (rownum > 10000) Then Exit For
Loop Until .Cells(rownum, 2).Value = "End_of_table"
endrow = rownum - 1
'Select everything from start of table to end of table
ThisWorkbook.Worksheets("Template-Referenz-Produkte").Range("B" & startrow & ":E" & endrow).Copy
'Paste description from excel sheet
Set textmarke = doc.Bookmarks("INSERT_T1_LINE_reference_TABLE").Range
textmarke.PasteSpecial (xlPasteAll)
doc.Bookmarks.Add "INSERT_T1_LINE_reference_TABLE", textmarke 'Set the text marker on this specific range.
Next rownum
End With
나는이 오류의 잘 모르겠지만, 같은'Bookmark'에 이유를 붙여 넣을? 첫 번째 루프는 열 B를 복사하고 두 번째 루프는 열 B : E를 복사하므로 루프도 중복 된 것처럼 보입니다. 왜 둘 다 필요한지 설명해 주시겠습니까? –
첫 번째 붙여 넣기를 제목으로 지정하고 두 번째 붙여 넣기를 표로 지정하고이 작업을 수행하는 다른 방법을 알지 못합니다. 책갈피를 사용하면 얼마나 많은 표를 붙여 넣을지 잘 모르며 동일한 책갈피를 사용하여 새 북마크를 추가하는 것이 가장 쉬운 방법이라고 생각합니다. – Max
아래 제안한 답변을 시도해 보셨습니까? 작동 했나요? –