К вышепредложенным кодам:
В теории точек может быть много. Обилие вызовов тяжёлых функций тоже не радует.
Иной код:
Function GetExt$(URL$)
For i=Len(URL) To 1 Step -1
If Mid(URL,i,1)="."
Return Right(URL,Len(URL)-i)
EndIf
Next
Return URL
End Function
Попахивает СИ-строками (в смысле "строка-массив", а не смысле нультерминирования), но, возможно множественный Mid убивает производительность по сравнению с Instr при одной точке, но при нескольких - х3 (надо сравнивать с первым постом).