salve
avendo dichiarato la variabile x come Long, non accetta un valore diverso da un valore numerico.
quindi devi modificare le tue macro aggiungendo in ciscuna macro che gestisce la variabile X le righe segnate in rosso.
Private Sub cmdPrintALL_Click()
Dim a As Integer
Dim p1, p2 As Integer
Dim MyItem As String
Dim nLab As Integer
Dim x as long
Select Case Prov
Case "AV"
p1 = 1
p2 = 50
Case "BN"
p1 = 51
p2 = 72
Case "CE"
p1 = 73
p2 = 122
Case "NA"
p1 = 123
p2 = 186
Case "SA"
p1 = 187
p2 = 276
End Select
nLab = p2 - p1 + 1
If MsgBox("Questa scelta stamperà " & nLab & " etichette." & vbCr & "Confermi la scelta ?", vbQuestion + vbYesNo, "Attenzione. Richiesta di stampa di allestimento") = vbYes Then
For a = p1 To p2
LabText = Cells.Range("K" & a).Value
Worksheets("label").Range("A3").Value = LabText
ThisWorkbook.Sheets("label").Select
On Error GoTo ErrHandx = InputBox("numero copie?", "immetti numero copie")
ActiveWindow.SelectedSheets.PrintOut Copies:=x, Collate:=True
'----------------------------------------------
''MsgBox "Stampo " & LabText
ThisWorkbook.Sheets("av").Select
Cells.Range("A1").Select
Next
End If
ErrHand:
If Err.Number = 13 Then Exit Sub
End Sub