Personalmente no uso filtros, y perdona la pregunta ¿Has mirado en el evento Después de actualizar del grupo de opciones FiltroNombreCompañía y convertido la macro a Visual Basic? Por probar la acabo de convertir y queda
'------------------------------------------------------------
' FiltrosNombreCompañía_AfterUpdate
'
'------------------------------------------------------------
Private Sub FiltrosNombreCompañía_AfterUpdate()
On Error GoTo FiltrosNombreCompañía_AfterUpdate_Err
If (FiltrosNombreCompañía = 1) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""[AÀÁÂÃÄ]*""", ""
 End If
 If (FiltrosNombreCompañía = 2) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""B*""", ""
 End If
 If (FiltrosNombreCompañía = 3) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""[CÇ]*""", ""
 End If
 If (FiltrosNombreCompañía = 4) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""D*""", ""
 End If
 If (FiltrosNombreCompañía = 5) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""[EÈÉÊË]*""", ""
 End If
 If (FiltrosNombreCompañía = 6) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""F*""", ""
 End If
 If (FiltrosNombreCompañía = 7) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""G*""", ""
 End If
 If (FiltrosNombreCompañía = 8) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""H*""", ""
 End If
 If (FiltrosNombreCompañía = 9) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""[IÌÍÎÏ]*""", ""
 End If
 If (FiltrosNombreCompañía = 10) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""J*""", ""
 End If
 If (FiltrosNombreCompañía = 11) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""K*""", ""
 End If
 If (FiltrosNombreCompañía = 12) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""L*""", ""
 End If
 If (FiltrosNombreCompañía = 13) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""M*""", ""
 End If
 If (FiltrosNombreCompañía = 14) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""[NÑ]*""", ""
 End If
 If (FiltrosNombreCompañía = 15) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""[OÒÓÔÕÖ]*""", ""
 End If
 If (FiltrosNombreCompañía = 16) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""P*""", ""
 End If
 If (FiltrosNombreCompañía = 17) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""Q*""", ""
 End If
 If (FiltrosNombreCompañía = 18) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""R*""", ""
 End If
 If (FiltrosNombreCompañía = 19) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""[SŠ]*""", ""
 End If
 If (FiltrosNombreCompañía = 20) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""T*""", ""
 End If
 If (FiltrosNombreCompañía = 21) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""[UÙÚÛÜ]*""", ""
 End If
 If (FiltrosNombreCompañía = 22) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""V*""", ""
 End If
 If (FiltrosNombreCompañía = 23) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""W*""", ""
 End If
 If (FiltrosNombreCompañía = 24) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""X*""", ""
 End If
 If (FiltrosNombreCompañía = 25) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""[YÝÿ]*""", ""
 End If
 If (FiltrosNombreCompañía = 26) Then
 DoCmd.ApplyFilter "", "[NombreCompañía] Like ""[ZÆØÅ]*""", ""
 End If
 If (FiltrosNombreCompañía = 27) Then
 DoCmd.ShowAllRecords
 End If
 If (CurrentRecord > 0) Then
 DoCmd.GoToControl "NombreCompañía"
 Exit Sub
 End If
 If (CurrentRecord = 0) Then
 Beep
 MsgBox "No hay registros para esa letra.", vbInformation, "No Records Returned"
 DoCmd.ShowAllRecords
 FiltrosNombreCompañía = 27
 End If
FiltrosNombreCompañía_AfterUpdate_Exit:
 Exit Sub
FiltrosNombreCompañía_AfterUpdate_Err:
 MsgBox Error$
 Resume FiltrosNombreCompañía_AfterUpdate_Exit
End Sub