3

У меня есть книга в Excel и в одну колонку я помещаю названия изображений.

я хочу создать код макроса /vba, чтобы при вводе имени файла в столбец, например IMG_1234, он автоматически связывался с файлом, например file:///\public\Pictures\IMG_1234.JPG

Затем, когда кто-то нажимает на ссылку, он загружает новое окно с изображением.

Я нашел какой-то код, который отвечает на мой вопрос в макросе ... однако мне интересно, возможно ли это сделать, чтобы он обновлялся автоматически, а не запускать макрос каждый раз ...

Sub PictureLink()

MyPath = "\\\public\Pictures\"
StartRow = 8
EndRow = 200
MyEnd = ".JPG"

x = 0

For i = StartRow To EndRow
    If Len(Cells(i, 4).Value) > 0 Then
        MyFileName = ""
        MyFileName = Dir(MyPath & Cells(i, 4).Text & MyEnd, vbNormal + vbDirectory)

        If MyFileName <> "" Then
            x = x + 1
            ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 4), _
                        Address:=MyPath & Cells(i, 4).Text & MyEnd
        End If
    End If
Next i

End Sub

Надеюсь, кто-то может помочь мне изменить это, чтобы он делал это автоматически.

большое спасибо

1 ответ1

2

Переименуйте ваш макрос следующим образом:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  ' your code here
End Sub

и используйте Target для доступа к ячейке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .