n1k_crimea
@n1k_crimea
29 лет Крым

Как из выделенных ячеек создать массив на VB?

Есть 2 столбца в которых находятся координаты точек - X и У. Как написать макрос, который переводит выделенный диапазон в строку: Х1,У1; Х2,У2; Количество координат не постоянно. Проверку на замыкание контура, совпадение координат первой и последней точки сделал.
Думаю, в цикле наполнить одномерный массив и в зависимости от порядкового номера очередного элемента ставить "," или ";" при конкатенации.
Помогите, как сделать наполнение массива в VB из выделенных ячеек
5c504f8689d00636044187.png
  • Вопрос задан
  • 424 просмотра
Решения вопроса 1
или так
выделите диапазон и запустите макрос, можете на кнопку назначить
он спросит куда поместить результат
Sub test()
   Dim rng As Range
   Dim v, vr, vc As Variant
   Dim i&, j As Long
   Dim sRes As String
   
   Set rng = Selection
   
   v = rng
   
   ReDim vc(LBound(v) To UBound(v))
   For i = LBound(v) To UBound(v)
      ReDim vr(LBound(v, 2) To UBound(v, 2))
      For j = LBound(v, 2) To UBound(v, 2)
         vr(j) = v(i, j)
      Next j
      vc(i) = Join(vr, ",")
   Next i
   
   sRes = Join(vc, ";")
   
   Set rng = Application.InputBox("Выберите ячейку", "Object", Type:=8)

   rng = sRes
   
End Sub
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Вот наполнение, примерное
Dim arr()

    ReDim arr(100, 1) '100 - верхняя граница массива (равно кол. строк - 1)
    
    Dim i&
    For i = 0 To 99
        arr(i, 0) = Cells(i + 1, 1).value 'i+1 потому что нумерация строк идет с 1, 1 - номер столбца с координатой Х
        arr(i, 1) = Cells(i + 1, 2).value '2 - номер столбца с координатой Y
    Next
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы