Что вам нужно сделать, это создать основной документ mailmerge с одной меткой, содержащей все поля слияния, необходимые для этой метки, а не лист меток, и объединить это с обычным слиянием букв.Создав основной документ mailmerge с одной меткой, вы можете использовать код, подобный следующему:
Sub RunMerge()
'Note: this code requires a reference to the Word object model
Application.ScreenUpdating = False
Dim wdApp As New Word.Application, wdDoc As Word.Document
Dim StrMMSrc As String, StrMMDoc As String
StrMMSrc = ThisWorkbook.FullName
StrMMDoc = ThisWorkbook.Path & "\MailMergeMainDocument.doc"
With wdApp
.Visible = True
.DisplayAlerts = wdAlertsNone
Set wdDoc = .Documents.Open(Filename:=StrMMDoc, AddToRecentFiles:=False, ReadOnly:=True, Visible:=False)
With wdDoc
With .MailMerge
.MainDocumentType = wdFormLetters
.OpenDataSource Name:=StrMMSrc, ReadOnly:=True, AddToRecentFiles:=False, _
LinkToSource:=False, Connection:="Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;" & _
"Data Source=StrMMSrc;Mode=Read;Extended Properties=""HDR=YES;IMEX=1"";", _
SQLStatement:="SELECT * FROM `Sheet1$`"
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
.Execute Pause:=False
End With
.Close SaveChanges:=False
End With
.DisplayAlerts = wdAlertsAll
.Activate
End With
Set wdDoc = Nothing: Set wdApp = Nothing
Application.ScreenUpdating = False
End Sub
Естественно, вам может понадобиться отредактировать переменную 'StrMMDoc' в соответствии с настройкой и именем документа, и,возможно, отредактируйте оператор SQL:
SQLStatement: = "SELECT * FROM Sheet1$
"
для ссылки на правильный лист.