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

Вход

Регистрация

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

 

= Мир MS Excel/Распределение массива в три ячейки - Страница 2 - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 2 из 2«12
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Распределение массива в три ячейки (Макросы/Sub)
Распределение массива в три ячейки
ZamoK Дата: Вторник, 10.05.2016, 09:35 | Сообщение № 21
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 214
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
SLAVICK, не не кол-ва строк, а кол-во шт. (что в скобках), а кол-во строк константа 3


Я не Гуру, но стремлюсь!
 
Ответить
СообщениеSLAVICK, не не кол-ва строк, а кол-во шт. (что в скобках), а кол-во строк константа 3

Автор - ZamoK
Дата добавления - 10.05.2016 в 09:35
SLAVICK Дата: Вторник, 10.05.2016, 09:43 | Сообщение № 22
Группа: Модераторы
Ранг: Старожил
Сообщений: 1923
Репутация: 650 ±
Замечаний: 0% ±

2007,2010,2013,2016
Или я чего - то не понял - или Вы не поняли.
Кстати заменил файл - сначала вложил Ваш же файл - с измененной функцией.

Покажите в примере что есть и как Вы хотите - рядом в столбце.
К сообщению приложен файл: 2898661.xls(53Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеИли я чего - то не понял - или Вы не поняли.
Кстати заменил файл - сначала вложил Ваш же файл - с измененной функцией.

Покажите в примере что есть и как Вы хотите - рядом в столбце.

Автор - SLAVICK
Дата добавления - 10.05.2016 в 09:43
ZamoK Дата: Вторник, 10.05.2016, 09:57 | Сообщение № 23
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 214
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
вот
К сообщению приложен файл: 8225399.xls(61Kb)


Я не Гуру, но стремлюсь!
 
Ответить
Сообщениевот

Автор - ZamoK
Дата добавления - 10.05.2016 в 09:57
SLAVICK Дата: Вторник, 10.05.2016, 10:03 | Сообщение № 24
Группа: Модераторы
Ранг: Старожил
Сообщений: 1923
Репутация: 650 ±
Замечаний: 0% ±

2007,2010,2013,2016
Понял.
Добавил одну переменную :D :
[vba]
Код
Function co(s As String, rf As Range, n%, Optional nDel% = 3, Optional k% = 1)
Dim r As Range, mF, ii&, st&, f&
ReDim mF(0 To 0)
With rf.Parent
    Set r = rf.Find(What:=s, After:=.Cells(1, 1), LookIn:=xlFormulas _
            , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False)
    
    Do Until Len(r.Offset(I, 2)) = 0
        mF(I) = r.Offset(I, 3) & " " & r.Offset(I, 2) & " " & r.Offset(I, 4) * k & " шт."
        I = I + 1
        ReDim Preserve mF(I)
    Loop
    I = I - 1
End With

If n > I + 1 Then co = "": Exit Function
If n = 1 Then st = 0 Else st = Int(I / nDel * (n - 1)) + 1
If n = nDel Or n > I Then f = I Else f = Int(I / nDel * (n))

For I = st To f - 1
    co = co & mF(I) & vbLf '", "
Next
co = co & mF(f)
End Function
[/vba]
К сообщению приложен файл: 6142484.xls(64Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеПонял.
Добавил одну переменную :D :
[vba]
Код
Function co(s As String, rf As Range, n%, Optional nDel% = 3, Optional k% = 1)
Dim r As Range, mF, ii&, st&, f&
ReDim mF(0 To 0)
With rf.Parent
    Set r = rf.Find(What:=s, After:=.Cells(1, 1), LookIn:=xlFormulas _
            , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False)
    
    Do Until Len(r.Offset(I, 2)) = 0
        mF(I) = r.Offset(I, 3) & " " & r.Offset(I, 2) & " " & r.Offset(I, 4) * k & " шт."
        I = I + 1
        ReDim Preserve mF(I)
    Loop
    I = I - 1
End With

If n > I + 1 Then co = "": Exit Function
If n = 1 Then st = 0 Else st = Int(I / nDel * (n - 1)) + 1
If n = nDel Or n > I Then f = I Else f = Int(I / nDel * (n))

For I = st To f - 1
    co = co & mF(I) & vbLf '", "
Next
co = co & mF(f)
End Function
[/vba]

Автор - SLAVICK
Дата добавления - 10.05.2016 в 10:03
ZamoK Дата: Вторник, 10.05.2016, 10:34 | Сообщение № 25
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 214
Репутация: 4 ±
Замечаний: 0% ±

Excel 2003-2016
Спасибо, оказывается все ещё проще чем я думал :D


Я не Гуру, но стремлюсь!
 
Ответить
СообщениеСпасибо, оказывается все ещё проще чем я думал :D

Автор - ZamoK
Дата добавления - 10.05.2016 в 10:34
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Распределение массива в три ячейки (Макросы/Sub)
Страница 2 из 2«12
Поиск:

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