Ok, anche se ho dubbi sulle misure che il cliente ti ha fornito.
Comunque la soluzione c'è. Non puoi utilizzare PrintForm, perchè questo invia direttamente i dati alla stampante senza attendere e non avresti modo di stampare altri form sullo stesso modulo. Puoi però costruirti l'immagine con l'oggetto printer in 2 modi:
1) Costruisci l'etichetta da zero (te lo consiglio)
2) Ti memorizzi il form + volte e lo mandi in stampa.
Non posso dirti come fare il caso n1, perchè non so quello che c'è nel form, ma ti assicuro che è molto + facile ed elegante come metodo.
Per il caso 2 fai così...
In un modulo scrivi questo:
codice:
 Public Declare Function BitBlt Lib "gdi32" _
 (ByVal hDCDest as Long, ByVal XDest as Long, _
 ByVal YDest as Long, ByVal nWidth as Long, _
 ByVal nHeight as Long, ByVal hDCSrc as Long, _
 ByVal XSrc as Long, ByVal YSrc as Long, _
 ByVal dwRop as Long) As Long

 Public Declare Function GetDesktopWindow Lib "user32" () As Long
 Public Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long
 Public Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hdc As Long) As Long
Nel form inserisci una PictureBox facendo in modo che non si veda (o la rendi non visibile o la sposti in modo che esca dalle dimensioni del form) ed inserisci questo codice (nel codice del form da stampare) che ti permette di riempire la PictureBox con l'immagine del form.
codice:
Private Sub PrintXForm()
    Dim r As Long
    Dim hWndForm As Long
    Dim hDCForm As Long

    Dim LeftForm As Long
    Dim TopForm As Long
    Dim WidthForm As Long
    Dim HeightForm As Long
   
    LeftForm = 0
    TopForm = 0
    WidthForm = Me.ScaleX(Me.Width, vbTwips, vbPixels)
    HeightForm = Me.ScaleY(Me.Height, vbTwips, vbPixels)
   
    hWndForm = Me.hWnd
    hDCForm = GetWindowDC(hWndForm)
   
    r = BitBlt(Picture1.hdc, 0, 0, WidthForm, HeightForm, _
               hDCForm, LeftForm, TopForm, vbSrcCopy)
    r = ReleaseDC(hWndForm, hDCForm)
End Sub
In questo momento la PictureBox contiene l'immagine di un form, ovvero di un'etichetta. Non so se le etichette sono sempre uguali, o se c'è una variabile nel form. Se c'è una variabile devi far ripetere la Sub PrintXForm + volte. Per semplificare poniamo che l'etichetta sia sempre uguale e che sia posizionata a 12 mm dal bordo sinistro e la prima a 4 mm dall'alto.
Ora posiziona l'etichetta sul modulo
codice:
Private Sub CreateSheet
    Dim Counter as Long
    PrintXForm()
    Printer.ScaleMode = 6 'mm
    For Counter = 1 to MaxCounter
        PrintLabel Cunter
    Next
    Printer.EndDoc
End Sub

Private Sub PrintLabel(IndexLabel as Long)
    OffsetY = 4 'public
    Printer.CurrentX = 12
    Printer.CurrentY = (IndexLabel mod 8 - 1) * 77 + OffsetY
    Printer.PaintPicture (Picture1.Picture, Printer.CurrentX, Printer.CurrentY)
    If IndexLabel mod 8 = 0 Then
        Printer.NewPage()
    EndIf
End Sub
Se invece il form è variabile sposta PrintXForm nel ciclo for
codice:
Private Sub CreateSheet
    Dim Counter as Long
    Printer.ScaleMode = 6 'mm
    For Counter = 1 to MaxCounter
        ModificaForm()
        PrintXForm()
        PrintLabel Cunter
    Next
    Printer.EndDoc
End Sub
Ribadisco che il primo metodo è meglio!