Farlo con una macro unica non sono in grado, stampare letterera per lettera filtrando preventivamente, prova in questo modo:
Da associare a due pulsanti sul foglio interessato
'Per filtrare in base alla lettera scelta nell'imputbox
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim criterio As String
criterio = InputBox("Digitare la lettera da filtrare") & "*"
Columns("A:A").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$A$10000").AutoFilter Field:=1, Criteria1:=criterio
End Sub
'Poi per togliere il filtro
Private Sub CommandButton2_Click()
Selection.AutoFilter
End Sub
quando applichi il filtro non vengono stampate le righe nascoste, quindi per ogni lettera mandi in esecuzione la stampa e hai alla fine dell'ultima pagina le righe vuote.
Puoi fare anche una prova, scegli una lettera, applichi il filtro e poi apri l'anteprima di stampa in modo che vedi il risultato.
Ciao
Antonio
Ciao
Antonio
(Versione excel:2003/2010)