Добрый день! Макрос по изменению ячеек листа: при вводе имени файла автоматом назначается гипер на файл. в макросе есть проверка на существование пути к файлу, но гипер назначается по другому пути. Прошу помочь исправить ошибку.
Добрый день! Макрос по изменению ячеек листа: при вводе имени файла автоматом назначается гипер на файл. в макросе есть проверка на существование пути к файлу, но гипер назначается по другому пути. Прошу помочь исправить ошибку.dude
В этом случае пролетает проверка существования пути в коде. Есть подозрение, что это какие-то фантомы в Таблице, но я пробовал полностью очищать проблемный диапазон, удалять его. Не помогает
В этом случае пролетает проверка существования пути в коде. Есть подозрение, что это какие-то фантомы в Таблице, но я пробовал полностью очищать проблемный диапазон, удалять его. Не помогаетdude
Сообщение отредактировал dude - Воскресенье, 02.07.2017, 19:24
В этом случае пролетает проверка существования пути в коде.
Почему? Только если Вы ее сотрете. А Вы не стирайте [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim ss As String Dim sss As String Dim SourceFolder As String Dim iFileName As String SourceFolder = Range("O1").Value '"D:\YandexDisk\Сканер\Андрей\" .full path If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("O3:S1000000")) Is Nothing Then If Not IsEmpty(Target) Then ss = Target.Value & ".*" iFileName = SourceFolder & ss sss = Dir(iFileName) If sss = "" Then MsgBox "Неправильное имя файла": Exit Sub Application.EnableEvents = False
ActiveSheet.Hyperlinks.Add Anchor:=Target, Address:=SourceFolder & sss, TextToDisplay:=ss 'Target = SourceFolder Application.EnableEvents = True Else Target.Hyperlinks.Delete End If End If End Sub
В этом случае пролетает проверка существования пути в коде.
Почему? Только если Вы ее сотрете. А Вы не стирайте [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim ss As String Dim sss As String Dim SourceFolder As String Dim iFileName As String SourceFolder = Range("O1").Value '"D:\YandexDisk\Сканер\Андрей\" .full path If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("O3:S1000000")) Is Nothing Then If Not IsEmpty(Target) Then ss = Target.Value & ".*" iFileName = SourceFolder & ss sss = Dir(iFileName) If sss = "" Then MsgBox "Неправильное имя файла": Exit Sub Application.EnableEvents = False
ActiveSheet.Hyperlinks.Add Anchor:=Target, Address:=SourceFolder & sss, TextToDisplay:=ss 'Target = SourceFolder Application.EnableEvents = True Else Target.Hyperlinks.Delete End If End If End Sub