Заполнение диапазона ячеек значениями (Microsoft Excel)
Джонатан создает макрос, и ему необходимо заполнить диапазон ячеек значениями. Например, если ему нужно заполнить диапазон 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 [Заполнение диапазона ячеек значениями]
.