Я создаю массив в vba, перейдя через ячейки на листе (originalWS). Так скажем, клетки (2,5) в (2,12) имеют следующие:Как добавить пустые пробелы между значениями в массив vba?
(2,5)Item
(3,5)Type
(4,5)Nominal Diameter
(5,5)Lead
.
.
.
(12,5)For Use with End Blocks
Таким образом, когда я петля с кодом ниже я получаю массив, который выглядит следующим образом:
[Пункт , Тип, Номинальный диаметр, Свинец, ..., Для использования с торцевыми блоками].
Однако я хотел бы добавить два пустых пространства между каждым значением в моем массиве. так что это выглядит так:
[Item, "", "", Type, "", "", Номинальный диаметр, "", "", Lead, "", "", ..., For Использование с концевыми блоками, «», «»]
ReDim propertyArr(1, lastRow)
For i = 1 To lastRow
propertyArr(1, i) = originalWS.Cells(i + 1, 5).Value
Debug.Print propertyArr(1, i)
Next
Я попытался петля, чтобы в окончательном общем размере массива так (lastRow * 3) и шаг вперед на 3. Тем не менее, у меня трудно определить, как я бы сбросил свои оригинальные значения WS.cells (i, 5) так, чтобы они были последовательными.
Других слов, когда я петля пошаговая 3 моих ценностей будет:
propertyArr(1,1) = originalWS.Cells(2,5).value
propertyArr(1,4) = originalWS.cells(5,5).value
propertyArr(1,7) = originalWS.cells(8,5).value
Как я могу цикл так, чтобы хранить значения в моем массиве каждые 2 места, в то время как я получаю значение от последовательного список в листе.
Могу ли я сделать это, не добавляя лишнюю пустую строку , чтобы добавить два пустых пространства между каждым значением в моем исходном цикле, не добавляя лишние пустые строки?
Или я могу добавить два пустых пространства между каждым значением после того, как я создал свой массив в первый раз?
Gary, я проверил это, он оптимизирован, чем мое решение. Я думаю, что это может потребоваться '3 * lastRow', так как для каждого элемента ему нужны еще два. Кроме того, ему нужно свойство propertyArr (1, i + 2) = "" ", за которым следует' propertyArr (1, i + 1) = "" '. Поскольку ОР нуждался в двух заготовках. – PaulFrancis