Линия по горизонтальным координатам таблицы - в которой числа могут быть как введены, так и образованы формулой - VBA
Формулировка задачи:
Помогите с макросом.
Имеющийся макрос - расставляет узлы полилинии - так как они представлены в таблице - по порядку.
Но тут есть нюанс - макрос чувствителен к способу ввода исходных данных.
В настоящий момент макрос использует только числа в ячейках - которые образованы формулой.
Если макрос встретит в исходных данных числа, которые образованы простым вводом - то выдаст ошибку.
Сейчас в коде макроса - стоит отметка: xlCellTypeFormulas
А чтобы макрос воспринимал ячейки - где числа просто введены - нужно заменить эту отметку на xlCellTypeConstants
Вопрос - как научить макрос воспринимать оба вида ввода значения - как простым вводом, так и формульным вводом ?
(Чтобы не открывать каждый раз vba-браузер меняя вручную тип исходных данных.)
Решение задачи: «Линия по горизонтальным координатам таблицы - в которой числа могут быть как введены, так и образованы формулой»
textual
Листинг программы
Sub Вариант_2() Dim i&, k&, j& k = 1 b = ActiveSheet.UsedRange.Rows("2:3") Nach: For j = k To UBound(b, 2) If Not IsEmpty(b(1, j)) And IsNumeric(b(1, j)) Then k = j: Exit For Next If Not IsEmpty(b(1, k + 1)) And IsNumeric(b(1, k + 1)) Then With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, b(1, k), b(2, k)) For i = k + 1 To UBound(b, 2) .AddNodes msoSegmentLine, msoEditingAuto, b(1, i), b(2, i) If i = UBound(b, 2) Then k = i: Exit For If IsEmpty(b(1, i + 1)) Then k = i + 1: Exit For Next .ConvertToShape If k < UBound(b, 2) Then GoTo Nach End With End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д