Я схожу с ума по этому поводу и знаю, что это гораздо проще, чем я делаю это.
Я хочу просто заменить несколько вхождений текста гиперссылкой, маскируемой одним и тем же текстом. .
Сценарий. Мы переходим в Google Classroom из-за Covid-19 и ожидаем сентября. Я могу экспортировать расписания учеников оптом, чтобы превзойти их как HTML файлы (давайте назовем этот файл расписаниями). У меня есть отдельный файл со списком всех названий классов и ссылками на Google Classrooms (назовем это одним классом). Я скопировал эти значения в «Лист1» файла расписания для приведенного ниже кода.
Если я могу использовать список классов для поиска всех экземпляров классов в расписаниях, то замените их гиперссылкой на Google Classroom, но я хочу, чтобы он отображался как имя класса.
Это изображение файла расписания. Это одно расписание, но файл продолжает один и тот же шаблон для разных учеников
Это изображение файла списка классов. Представьте, что все перечисленные классы и ссылки были действительными.
Я пробовал этот код, который я нашел, но не могу получить работающую гиперссылку в элементе "replace".
'PURPOSE: Find & Replace a list of text/values throughout entire workbook from a table
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault
Dim sht As Worksheet
Dim fndList As Integer
Dim rplcList As Integer
Dim tbl As ListObject
Dim myArray As Variant
'Create variable to point to your table
Set tbl = Worksheets("Sheet1").ListObjects("Table2")
'Create an Array out of the Table's Data
Set TempArray = tbl.DataBodyRange
myArray = Application.Transpose(TempArray)
'Designate Columns for Find/Replace data
fndList = 1
rplcList = 2
'Loop through each item in Array lists
For x = LBound(myArray, 1) To UBound(myArray, 2)
'Loop through each worksheet in ActiveWorkbook (skip sheet with table in it)
For Each sht In ActiveWorkbook.Worksheets
If sht.Name <> tbl.Parent.Name Then
sht.Cells.Replace What:=myArray(fndList, x), Replacement:=myArray(rplcList, x), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
End If
Next sht
Next x
End Sub
Помощь приветствуется.
3 : РЕДАКТИРОВАТЬ: Пример файла расписания