Sub FindInShapes1()
Dim rStart As Range
Dim shp As Shape
Dim sFind As String
Dim sTemp As String
Dim Response
sFind = InputBox("Search for?")
If Trim(sFind) = "" Then
MsgBox "Nothing entered"
Exit Sub
End If
Set rStart = ActiveCell
For Each shp In ActiveSheet.Shapes
sTemp = shp.TextFrame.Characters.Text
If InStr(LCase(sTemp), LCase(sFind)) <> 0 Then
shp.Select
Response = MsgBox(_
prompt:=shp.TopLeftCell & vbCrLf & _
sTemp & vbCrLf & vbCrLf & _
"Do you want to continue?", _
Buttons:=vbYesNo, Title:="Continue?")
If Response <> vbYes Then
Set rStart = Nothing
Exit Sub
End If
End If
Next
MsgBox "No more found"
rStart.Select
Set rStart = Nothing
End Sub
Привет,Ошибка выполнения «1004» Указанное значение находится вне диапазона
я сделал выше макрос для поиска первенствовать формы в «crouded» листа, в тексте, написанном внутри. Макрос работает в новых книгах, но не в одном, мне нужно, было это продолжает показывать следующее сообщение:
"Run-Time error '1004'
The specified value is out of range"
и, как только я нажимаю на «Debug» он выделяет строку:
sTemp = shp.TextFrame.Characters.Text
Что случилось?
Спасибо за вашу помощь Chiara
ошибка '1004' - это своего рода уловка, поэтому на самом деле не указывает на фактическую проблему. То, что вы можете сделать, это поставить точку останова (используя F9) в строке 'sTemp = shp.TextFrame.Characters.Text', а затем нажать F5, пока не получите ошибку. Это скажет вам, какой объект Shape вызывает проблему - вполне возможно, что он является самым первым и что ваш код не обрабатывает ошибку - например, может быть, нет текста в объекте фигуры? –