Дорогие друзья, я пытаюсь отобразить фотографии людей в соответствии с именем, выбранным в поле со списком. Мне это удается, но моя проблема в том, что при постоянном выборе разных имен в поле со списком внезапно время от времени отображается ** ошибка 13, несоответствие типов **, и мое поле со списком тоже исчезает. Но после этого видимость Mypics (имя, определенное в таблице имен людей и изображений) «ИСТИНА» появляется снова после компиляции 2-3 раза.
вот мой код
Private Sub Worksheet_Calculate()
Dim Mypics As Picture
Me.Pictures.Visible = False
With Range("B8")
For Each Mypics In Me.Pictures
If (Mypics.Name = .Text) Then
Mypics.Visible = True
Mypics.Top = .Top
Mypics.Left = .Left
Exit For
End If
Next Mypics
End With
End Sub
В ячейке «B8» отображается имя изображения в соответствии с именем выбранного человека в поле со списком со ссылкой на номер индекса.
Debug.print mypics.Name, .Text
, и вы сможете отслеживать значения в непосредственном окне, когда ваш код выдает ошибку. Кроме того, рассмотрите возможность пошагового выполнения кода каждый раз, когда вы выбираете новые значения. - person   schedule 28.10.2013