Передача 1 из 3 значений в Sub

Я хочу обновить одну (1 из 3) переменную в Sub .

3 переменные уже назначены, но я хотел бы обновить одну из переменных.

См. Нижеприведенный сценарий для простого примера передачи string s между подмножествами в разных Macros

В Macro1

 Sub Sub1() Text1 = "First Text" Text2 = "Second Text" Text3 = "Third Text" Call Macro2.Sub2(Text1, Text2, Text3) End Sub 

В Macro2

 Public PassedText1, PassedText2, PassedText3 As String Sub Sub2(ByVal r1 As String, ByVal r2 As String, ByVal r3 As String) PassedText1 = r1 PassedText2 = r2 PassedText3 = r3 End Sub '======================= 

Я знаю, что могу создать еще один sub в Macro2 где я могу передать string а затем назначить ее переменной Public.

Если нет другого пути?

Я хоть что-то вроде:

 Sub Sub3() SomeText = "New Text" Call Sub2(r1:=SomeText) End Sub 

Если вы определите свой подтип, как это, вы можете использовать то, что вы предложили:

 Sub Sub2(Optional ByVal r1 As Variant, Optional ByVal r2 As Variant, Optional ByVal r3 As Variant) 

Итак, 2 изменения для каждого аргумента. Optional ByVal r1 As Variant :

  1. Optional говорит сам за себя

  2. As Variant потому что вам нужно будет проверить, аргумент присутствует в вашем вызове с помощью IsMissing() , но для этого аргумент должен быть определен как вариант

Так вот так для 3 аргументов в вашем proc:

 If Not IsMissing(r1) Then PassedText1 = r1 
  • Excel VBA для создания нумерованного списка в Word
  • Макрос для создания отдельной страницы Word для каждой строки в документе Excel
  • VBA: форматирование всего шрифта в документе
  • Остановите обычный «двойной щелчок», чтобы открыть файл слова с открытием в скрытом кодовом экземпляре слова
  • Прочтите встроенный файл MSWord из excel и сохраните его на диске с помощью Java
  • Сопоставьте список XML в повторяющемся компоненте Word (Word 2013)
  • Сохранение конечных нолей при переходе от excel к слову VBA
  • Закрытие приложения (Acrobat, Word, Excel) после закрытия последнего документа
  • Вставка Excel в качестве объекта OLE в MS Word с указанием ошибки
  • Как отображать документы, такие как ppt, pdf в приложении для Android без Интернета
  • Разделить копию из соседних столбцов Excel в соседние столбцы таблицы Word
  • Interesting Posts

    C # Как читать XML-значения ячейки Excel с форматированием символьного уровня? (Несколько элементов <t> внутри <si>)

    Можно ли сделать расстояние Левенштейна в Excel без необходимости прибегать к макросам?

    Создание списка на другом листе – ошибка времени выполнения 9

    Что касается преобразования дат файла .CSV

    Excel. Обратитесь к той же ячейке выше для двух пробелов, добавьте ссылку на ячейку на 1, повторите шаблон

    Slicer для нескольких точек с разным источником данных Excel VBA

    Макрос Excel – экспорт в PDF

    Фильтрация столбца на основе фактического адреса ячейки

    Вкл. Ошибка Возобновление следующего не работает VBA

    Excel: что должно возвращать iferror, чтобы избежать #value! ошибка

    Как настроить заливку ячеек прозрачным / без заполнения

    RegEx в VBA: Разбить сложную строку на несколько токенов?

    получить слово для имени файла для каждого языкового стандарта

    Как обнаружить открытые файлы Excel в макросе Excel?

    Если операторы / И и поиск в Excel

    Давайте будем гением компьютера.