Código para demonstrar como excluir a última ocorrência de uma determinada string
Sub DeleteLastOccurence()
Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="Hello", Forward:=False
If myRange.Find.Found = True Then myRange.Delete
End Sub
A parte chave é Forward:=False
, onde dizemos ao VBA para pesquisar para trás
Antes | Depois
Recursosusados
link
Editar
Este código recortado procura a última imagem. Em seguida, retrocede para pesquisar a primeira ocorrência da sua palavra-chave ( Primeiro neste exemplo). Em seguida, seleciona o intervalo entre a palavra-chave e a imagem. Você pode fazer o que quiser com isso, como apagar.
Sub DeleteLastOccurence()
Dim rngPicture As Range
Dim rngJunk As Range
Set rngPicture = ActiveDocument.InlineShapes(ActiveDocument.InlineShapes.Count).Range
Set rngJunk = Range(0, rngPicture.Start)
rngJunk.Find.Execute FindText:="First", Forward:=False
If rngJunk.Find.Found = True Then Range(rngJunk.Start, rngPicture.Start).Select
End Sub