Ender, quiero hacer constar que de Excel no tengo ni idea, lo mío es el Access. Pero, quizá, digo quizá, te dé una idea. De entrada lo primordial es si NumFactura es numérico o texto. Me explico, si es del tipo 1,2,..., 435, etc o, por el contario, es de tipo 0001,0002,0435,... o si es, por ejemplo, 0001/2024, 0002/20024
Supongo, no lo sé, que quizás utilices. Por ejemplo, un botón de comando dentro de un formulario. En el caso de Access, bastaría con la instrucción
Private Sub Comando22_Click()
On Error GoTo Comando22_Click_Err
DoCmd.OpenReport "Clientes", acNormal, "", "NumFactura=" & Me.Numfactura & "", acNormal
Comando22_Click_Exit:
Exit Sub
Comando22_Click_Err:
MsgBox Error$
Resume Comando22_Click_Exit
End Sub
Me explico, abre el informe e imprímelo( no sé si en tu caso sería una hoja) Clientes, en aquel registro en que su numero de factura sea igual al que figura en ese momento en el formulario. Y como después de Docmd... le dices Acnormal, el sistema entiende que tiene que imprimirlo directamente, no lo muestra.
Con respecto a lo de incrementar un número, en el caso de Access, bastaría con poner, en el evento Al activar el registro
If me.newrecord then
numfactura=dmax/"numgactura","clientes")+1
end if