Сначала пользователь выделяет часть текста в открытом документе и запускает первый макрос, который копирует выделенный текст в переменную.
Затем пользователь переводит курсор в другое место и запускает второй макрос, который должен вставить ранее скопированный текст из переменной в то место, куда пользователь поставил курсор.
Что неправильно в моих макросах? Почему второй макрос не видит значение из переменной?
Sub Макрос1()
Selection.Copy
DAT = Selection.Text
End Sub
Sub макрос2()
Selection.Text = "(В редакции " + DAT + ")"
End Sub
Если переменная создана внутри процедуры, то она находится в памяти, пока работает эта процедура.
Чтобы переменная сохранилась после процедуры, нужно создать переменную в модуле, вверху модуля.
Private DAT
Sub Макрос1()
Selection.Copy
DAT = Selection.Text
End Sub
Sub Макрос2()
Selection.Text = "(В редакции " + DAT + ")"
End Sub
Спасибо огромное!