Excel VBA - конвертировать существующее изображение в ячейку, чтобы комментировать изображение - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь использовать VBA в Excel для преобразования набора изображений в столбце (по одному на ячейку) в всплывающее изображение комментария, чтобы лист был более читабельным. Я могу найти нужное изображение, перебирая фигуры, и могу установить его как объект; но я не могу использовать этот объект для заполнения поля комментария. Кажется, вместо этого он ищет истинный путь к файлу.
Я не особо хочу сохранять каждое изображение, а затем перезагружать его, кажется бессмысленным.

 For Each Pic In ActiveSheet.Shapes
    If Pic.TopLeftCell.Address = ActiveCell.Address Then
      If Pic.Type = msoPicture Then
        Pic.Select
        Application.ActiveCell.AddComment.Shape.Fill.UserPicture **(ActiveSheet.Shapes(Pic.name))** 'if I use a path here its okay
        'SelectPictureAtActiveCell = name
        Exit For
      End If
    End If
   Next

есть мысли?

CJ

1 Ответ

0 голосов
/ 18 февраля 2020

Я думаю, что вы хотите показать одно изображение, если выберете определенную c ячейку, а затем

См.

Создание фигур невидимыми / видимыми в Excel через VBA

с

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Macro1
End Sub

Вы можете скрывать и отображать изображения, используя ActiveSheet.Shapes ("ImageName"). Visible = False или True

, например, при нажатии на ячейку Первое изображение A1 скрыто, иначе все изображения видны

Sub Macro1()

Dim shp As Shape

If ActiveCell.Address = "$A$1" Then
For Each shp In ActiveSheet.Shapes
ActiveSheet.Shapes(1).Visible = False
' or you can use image name as
'ActiveSheet.Shapes("ImageName").Visible = False
'shp.Visible = False
Next
Else
For Each shp In ActiveSheet.Shapes
shp.Visible = True
Next
End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...