Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Разбить на диапазоны строку в Excel - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разбить на диапазоны строку в Excel (Формулы/Formulas)
Разбить на диапазоны строку в Excel
DimanYamoz Дата: Понедельник, 26.08.2019, 13:46 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Приветствую! Как можно сделать чтобы макрос разделил на диапазоны выделенную строку. Пример на строке 29. (Высота H=15, Длина R 0, 7 - 15)
Мой макрос:

[vba]
Код
Dim kolv As Integer
Dim intC As Integer
Dim r As Range
Dim mar()
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

MsgBox ("Stolbec: " & Join(mar(), "_"))

End Sub
[/vba]
К сообщению приложен файл: 11.xlsx(15.0 Kb)


Сообщение отредактировал DimanYamoz - Понедельник, 26.08.2019, 15:00
 
Ответить
СообщениеПриветствую! Как можно сделать чтобы макрос разделил на диапазоны выделенную строку. Пример на строке 29. (Высота H=15, Длина R 0, 7 - 15)
Мой макрос:

[vba]
Код
Dim kolv As Integer
Dim intC As Integer
Dim r As Range
Dim mar()
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

MsgBox ("Stolbec: " & Join(mar(), "_"))

End Sub
[/vba]

Автор - DimanYamoz
Дата добавления - 26.08.2019 в 13:46
DimanYamoz Дата: Понедельник, 26.08.2019, 14:30 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Ещё чуть доработал программу. Теперь она показывает ответ даже просто ткнув в любую ячейку. Но как можно сделать чтобы длина была в виде диапазона?

[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]


Сообщение отредактировал DimanYamoz - Понедельник, 26.08.2019, 15:00
 
Ответить
СообщениеЕщё чуть доработал программу. Теперь она показывает ответ даже просто ткнув в любую ячейку. Но как можно сделать чтобы длина была в виде диапазона?

[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]

Автор - DimanYamoz
Дата добавления - 26.08.2019 в 14:30
китин Дата: Понедельник, 26.08.2019, 14:42 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 5828
Репутация: 907 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
DimanYamoz, - Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)
тэги с букавкойf для формул


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
СообщениеDimanYamoz, - Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)
тэги с букавкойf для формул

Автор - китин
Дата добавления - 26.08.2019 в 14:42
Pelena Дата: Понедельник, 26.08.2019, 18:06 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 14473
Репутация: 3172 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Не совсем понятно, что делает Ваш макрос, но исходя из темы, посмотрите готовое решение Получение интервалов из числовой последовательности


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеНе совсем понятно, что делает Ваш макрос, но исходя из темы, посмотрите готовое решение Получение интервалов из числовой последовательности

Автор - Pelena
Дата добавления - 26.08.2019 в 18:06
DimanYamoz Дата: Вторник, 27.08.2019, 09:13 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Нужно распределить на диапазоны область красных ячеек в строке. Например по строке 29 хочу получить такой результат. H=15, R= 0, 7-15. (Ось R сверху, ось H слева)


Сообщение отредактировал DimanYamoz - Вторник, 27.08.2019, 09:14
 
Ответить
СообщениеНужно распределить на диапазоны область красных ячеек в строке. Например по строке 29 хочу получить такой результат. H=15, R= 0, 7-15. (Ось R сверху, ось H слева)

Автор - DimanYamoz
Дата добавления - 27.08.2019 в 09:13
DimanYamoz Дата: Вторник, 27.08.2019, 13:14 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Вообщем остался только один вопрос. Как можно применить персональную функцию в этом макросе? А именно использовать персональную функцию с массивом?
 
Ответить
СообщениеВообщем остался только один вопрос. Как можно применить персональную функцию в этом макросе? А именно использовать персональную функцию с массивом?

Автор - DimanYamoz
Дата добавления - 27.08.2019 в 13:14
Pelena Дата: Вторник, 27.08.2019, 19:42 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 14473
Репутация: 3172 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Так проверьте
К сообщению приложен файл: 11-1-.xlsm(22.0 Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеТак проверьте

Автор - Pelena
Дата добавления - 27.08.2019 в 19:42
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разбить на диапазоны строку в Excel (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!