Reabrindo para esclarecimentos.
O codigo funcionou muito bem para uma tabela local, ja para tabela vinculada em banco dividido o mesmo nao executa, segue.
'Inicio o tratamento de erros
On Error GoTo TratareiErro
'Declaro a variável que referenciará o recordset
Dim rs As DAO.Recordset
'Declaro a variável que armazenará o texto que será substituído
Dim Substituir As String
'Declaro a variável que armazenará o texto a substituir o outro
Dim Por As String
'Declaro a variável que contabilizará o total de registros no recordset
Dim Contador As Long
'Declaro a variável que armazenará as passadas pelo loop
'usando a estrutura for next em relação ao contador
Dim ContaMove As Long
'Declaro a variável que armazenará a quantidade de registros
'modificados a cada passada do loop
Dim ContaSubst As Long
'Instancio o recordset, com isso obtenho o conjunto
'de registros
Set rs = CurrentDb.OpenRecordset("Enviado") 'Tentei um dbOpenDynaset e naofuncionou
'Armazeno na variável o valor que será substituido
Substituir = Me.txtGuiaAtual
'Armazeno na variável o valor que substituirá o valor
'da variável 'Substituir'
Por = Me.txtGuiaSubstituir
'Armazeno zero na variável que contará as substituições.
'A cada passada do loop ela receberá um valor
ContaSubst = 0
'Armazeno na variável a quantidade de registros do recordset
Contador = rs.RecordCount
'Abro a barra de progresso nativa do pacote office
SysCmd acSysCmdInitMeter, "Aguarde a finalização...", Contador
'Armazeno 1 na variável ContaMove e a cada passada do loop seu
'valor evolui 'em + 1', quando chegar no ultimo valor da variável
'Contador o loop se completa
For ContaMove = 1 To Contador
'Atualizo a progressão da barra de progresso do office
SysCmd acSysCmdUpdateMeter, ContaMove
'Analiso com o if se na passada pelo registro o valor
If rs("CódGuia") = Substituir Then 'Se for igual então:
'Armazeno + 1 na variável ContaSubst
ContaSubst = ContaSubst + 1
'Abro o registro para edição
rs.Edit
'Susbstituo o valor atual de CodGuia
rs.Fields("CódGuia") = Por
'Atualizo o registro
rs.Update
'Movo ao próximo
rs.MoveNext
Else
'Senão movo a frente
rs.MoveNext
End If
'Passo a frente em ContaMove, com isso iniciaremos de novo lá em cima
'a partir do 'For ContaMove' em uma nova passada em um novo registro
Next ContaMove
'Fecho o recordset, uma vez que não o percorrerei mais.
rs.Close
'Removo a barra de progresso
SysCmd acSysCmdRemoveMeter
'Aqui analiso a quantidade de substituições
If ContaSubst > 1 Then
'Se foi mais que um registro modificado, envio uma mensagem no plural
MsgBox "Total de: " & Contador & " registros. Realizado " _
& ContaSubst & " substituições."
Else
'Se não envio no singular
MsgBox "Total de: " & Contador & " registros. Realizado " _
& ContaSubst & " substituição."
End If
'Se o algoritmo funcionou, então encerro o trtamento de erro
Exit_TratareiErro:
Exit Sub
'Se algo inesperado acontecer e impedir o correto funcionamento do algoritmo
'Então disparo o tratamento de erro
TratareiErro:
MsgBox "Aconteceu falha neste processamento." _
& vbCrLf & "Trata-se do erro n°: " & err.Number _
& vbCrLf & "Descrição: " _
& err.Number, vbInformation, "Erro inesperado"
Exit Sub