Я работаю над созданием «Библиотеки доказательств» для своей работы. Он состоит из книги с двумя листами: «Определения», который включает столбец B для термина, столбец C для определения и столбец D для соответствующих примеров. Столбец D Я пытаюсь заполнить сценарий VBA для каждого указанного c термина.
Для этого я попытался написать сценарий, который считывает столбец «Ключевые слова» (столбец I) моего второго листа , «Библиотека вещественных доказательств». Когда он находит соответствие по ключевому слову, которое я ищу, он копирует гиперссылку на рассматриваемое свидетельство (в столбце B).
Мне удалось написать базовый c скрипт, который до некоторой степени достигает этого. Моя проблема двоякая: во-первых, сценарий перезапишет предыдущие примеры гиперссылок при прохождении l oop и вставке, поэтому будет отображаться только последнее возвращенное значение, и два: столбец ключевых слов имеет несколько записей, и я не уверен как заставить код понимать, что ключевые слова в ячейках для каждой записи разделяются точкой с запятой (";") - это работает только тогда, когда рассматриваемое ключевое слово является единственным присутствующим в ячейке.
Я чувствую, что мне нужно, чтобы код сохранял гиперссылки в массиве, разделенном запятыми, и вставлял только в конец l oop после того, как все они были сохранены, но я не уверен, как лучше всего достичь это потому, что у меня очень элементарное понимание кодирования.
Для справки, вот что у меня сейчас:
Private Sub CommandButton1_Click()
a = Worksheets("Evidence Library").Cells(Rows.Count, 1).End(xlUp).Row
For i = 4 To a
If Worksheets("Evidence Library").Cells(i, 9).Value = "Keyword" Then
Worksheets("Evidence Library").Cells(i, 2).Copy
Worksheets("Definitions").Activate
ActiveSheet.Range("D4").Select
ActiveSheet.Paste
Worksheets("Evidence Library").Activate
End If
Next
Application.CutCopyMode = False
End Sub