Ещё чуть доработал программу. Теперь она показывает ответ даже просто ткнув в любую ячейку. Но как можно сделать чтобы длина была в виде диапазона?
[vba]
Код
Dim kolv As Integer Dim intC As Integer Dim r As Range Dim mar() Selection.End(xlToLeft).Select Range(Selection, Selection.End(xlToRight)).Select x = 0 ReDim mar(x + 1) kolv = Selection.Cells.Count
With Selection For i = 0 To kolv - 1 If .Cells(i + 1).Value >= 1 Then intC = .Cells(i + 1).Column - 2
ReDim Preserve mar(x) mar(x) = intC x = x + 1 ReDim Preserve mar(x) End If Next i End With Selection.End(xlToLeft).Select MsgBox ("Visota: " & (ActiveCell) & " ; " & "Dlina: " & Join(mar(), "_")) End Sub
[/vba]
Ещё чуть доработал программу. Теперь она показывает ответ даже просто ткнув в любую ячейку. Но как можно сделать чтобы длина была в виде диапазона?
[vba]
Код
Dim kolv As Integer Dim intC As Integer Dim r As Range Dim mar() Selection.End(xlToLeft).Select Range(Selection, Selection.End(xlToRight)).Select x = 0 ReDim mar(x + 1) kolv = Selection.Cells.Count
With Selection For i = 0 To kolv - 1 If .Cells(i + 1).Value >= 1 Then intC = .Cells(i + 1).Column - 2
ReDim Preserve mar(x) mar(x) = intC x = x + 1 ReDim Preserve mar(x) End If Next i End With Selection.End(xlToLeft).Select MsgBox ("Visota: " & (ActiveCell) & " ; " & "Dlina: " & Join(mar(), "_")) End Sub
Нужно распределить на диапазоны область красных ячеек в строке. Например по строке 29 хочу получить такой результат. H=15, R= 0, 7-15. (Ось R сверху, ось H слева)
Нужно распределить на диапазоны область красных ячеек в строке. Например по строке 29 хочу получить такой результат. H=15, R= 0, 7-15. (Ось R сверху, ось H слева)DimanYamoz
Сообщение отредактировал DimanYamoz - Вторник, 27.08.2019, 09:14
Вообщем остался только один вопрос. Как можно применить персональную функцию в этом макросе? А именно использовать персональную функцию с массивом?
Вообщем остался только один вопрос. Как можно применить персональную функцию в этом макросе? А именно использовать персональную функцию с массивом?DimanYamoz