Джонатан создает макрос, и ему необходимо заполнить диапазон ячеек значениями. Например, если ему нужно заполнить диапазон A1: C1, в настоящее время для заполнения этого диапазона требуется три оператора:

Range("A1") = "Test1"

Range("B1") = "Test2"

Range("C1") = "Test3"

Он задается вопросом, есть ли способ заполнить их одним оператором, подобным следующему:

Range("A1:C1") = ("Test1","Test2","Test3")

Желаемый синтаксис Джонатана близок, но он не работает. Вот как это будет работать:

Range("A1:C1") = Array("Test1","Test2","Test3")

Обратите внимание на использование оператора Array, который сообщает VBA, что нижеследующее следует рассматривать как последовательность значений, которые будут использоваться в последовательности ячеек слева от оператора. Интересно, что вы можете вставлять значения в переменные, а также использовать оператор Array, как показано здесь:

sOne = "Apples"

sTwo = "Oranges"

sThree = "Artichokes"

Range("A1:C1") = Array(sOne, sTwo, sThree)

Вы также можете работать с прямыми переменными, если хотите:

Dim sMyStrings(2) As String sMyStrings(0) = "Apples"

sMyStrings(1) = "Oranges"

sMyStrings(2) = "Artichokes"

Range("A1:C1") = sMyStrings

Приведенный выше код также можно переписать следующим образом:

Dim sMyStrings(2) As String sMyStrings = Array("Apples", "Oranges", "Artichokes")

Range("A1:C1") = sMyStrings

Наконец, если вы хотите, чтобы значения помещались в один столбец, а не в строку, вам нужно будет использовать функцию транспонирования следующим образом:

Range("A1:A3") = Application.Transpose(Array("Test1","Test2","Test3"))

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (11702) применим к Microsoft Excel 2007, 2010, 2013 и 2016.

Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Filling_a_Range_of_Cells_with_Values ​​[Заполнение диапазона ячеек значениями].