Страницы: 1
RSS
Сцепить строки по условиям
 
Здравствуйте!
Помогите пожалуйста оптимизировать процесс сцепки.
Пример как решаю эту задачу сейчас прилагаю!

Описание
Желтым выдел вводные данные
Зеленым проставляю признак брать в работу столбец или нет (1-брать)
G1-разделить между название столбца и свойстом
На голубом фоне делаю проверку условиям ( 1.Брать в работу, 2.Ячейка не пустая)
На сером фоне результат (сцепляю все ячейки по строке, разделитель |  Использую код макроса сцепитьмного
отсюда https://www.excel-vba.ru/chto-umeet-excel/scepit-mnogo-yacheek-s-ukazannym-razdelitelem/

Цель дописать код VBA что бы исключить ручные правки.
 
 
Miha, пробуйте
Код
Function Miha$(crit, hdr, data)
Dim arCrit(), arHdr(), arData(), i&
  Any2Arr crit, arCrit
  Any2Arr hdr, arHdr
  Any2Arr data, arData
  For i = 1 To UBound(arCrit)
    If CBool(arCrit(i)) And Len(arData(i)) Then Miha = Miha & "|" & arHdr(i) & "-" & arData(i)
  Next
  If Len(Miha) Then Miha = Mid$(Miha, 2)
End Function

Private Sub Any2Arr(x, a())
  If IsObject(x) Then
    a = WorksheetFunction.Index(x.Rows(1).Value, 0)
  ElseIf IsArray(x) Then
    a = x
  Else
    ReDim a(1 To 1)
    a(1) = x
  End If
End Sub
Для данных 3-й строки
Код
=Miha($A$1:$F$1;$A$2:$F$2;A3:F3)
Можете передавать функции не только диапазоны, но и массивы, пример в ст. В
Код
=Miha({1;1;0;1;0;1};$A$2:$F$2;A3:F3)
 
Цитата
Огонь!) (Согласно пункту 4.4.)
Спасибо большое!
Изменено: Miha - 15.10.2018 08:13:55
 
Miha, вернитесь в своё сообщение и удалите то, что Вы ошибочно считаете цитатой: не цитата это, а копия сообщения. И запомните - кнопка цитирования не для ответа!
Цитата
Miha написал:
Агонь!
Огонь - так правильно.
 
Цитата
Юрий М написал:
Огонь - так правильно.
Надо быть ближе к молодёжи. "Ржунимагу" пишется именно так, а не раздельно и через НЕ.  :D
Меня вот  интересует, это на сколько надо быть упорным, чтоб выделить все сообщение  и только после этого нажать "цитата"?
Изменено: БМВ - 14.10.2018 21:14:13
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
Надо быть ближе к молодёжи
В VK я бы и не подумал обращать внимание на "агонь" ))
И слэнг этот мне знаком: "апстол" и т.п.
А здесь у нас даже в правилах специально оговорено: пункт 4.4.
 
Off
Цитата
Юрий М написал:
В VK я бы и не подумал
:-) А VK на бересте или глиняной табличке? ;-)
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх