Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2010, 17:49   #1
mmet
 
Регистрация: 01.09.2010
Сообщений: 9
Радость Как вставлять в группу ячеек по несколько строк сразу

Для примера есть непрерывной текстовой список типа:
a1
a2
б1
б2
в1
в2
и т.д.

как вставить его в Excel, чтобы каждая позиция не занимала свою строку, а попадали сразу по 2,3,4 и т.д. (как задано будет) в одну ячейку?

или как можно объединить в столбце все ячейки попарно (по тройке, четверке и т.д.)?
mmet вне форума Ответить с цитированием
Старый 01.09.2010, 18:29   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Для примера есть непрерывной текстовой список типа:
Где есть?
В текстовом файле, в книге Excel, в буфере обмена, ещё где-то?

Цитата:
как задано будет
Где и как будет задано? Покажите пример файла с тем, что есть, и с тем, что надо получить.
EducatedFool вне форума Ответить с цитированием
Старый 01.09.2010, 18:38   #3
mmet
 
Регистрация: 01.09.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Где есть?
В текстовом файле, в книге Excel, в буфере обмена, ещё где-то?

Где и как будет задано? Покажите пример файла с тем, что есть, и с тем, что надо получить.
Изначально в текстом файле, можно перенести в excel, буфер, не суть

Количество строк в каждой ячейке задается один раз при операции вставки, я не знаю как задается, потому что не знаю, как так можно вставить

Изначально есть список типа:
IMG_5555.jpg
IMG_5556.jpg
IMG_5557.jpg
IMG_5558.jpg
IMG_5559.jpg
IMG_5560.jpg

Нужно, что в каждую ячейку в строке попадало сразу по N позиций из списка (по умолчанию каждая вставляется в свою строку, либо все в одну ячейку, если её предварительно активировать)
mmet вне форума Ответить с цитированием
Старый 01.09.2010, 19:06   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Выделите первую ячейку для вставки, и запустите этот макрос:

Код:
Sub Макрос()
    Dim n As Integer, txt$, filename$: On Error Resume Next: Err.Clear
    n = InputBox("Введите кол-во строк в одной ячейке", , 4) ' значение по умолчанию
    If Err > 0 Or n <= 0 Then Exit Sub
    filename$ = "C:\Documents and Settings\Admin\Рабочий стол\список файлов.txt"
    Set fso = CreateObject("scripting.filesystemobject")
    Set ts = fso.OpenTextFile(filename$, 1, True): txt$ = ts.ReadAll: ts.Close
    Application.ScreenUpdating = False: arr = Split(txt$, vbNewLine)
    ActiveCell.EntireColumn.ColumnWidth = 20 ' ширина столбца
    For i = LBound(arr) To UBound(arr) Step n
        For j = 0 To n - 1
            If i + j <= UBound(arr) Then t = t & vbLf & arr(i + j)
        Next j
        ActiveCell.Offset(pos) = Mid(t, 2): pos = pos + 1: t = ""
    Next i
End Sub
Вот вам пример в виде файла: http://excelvba.ru/XL_Files/Sample__...__21-08-57.zip
Вставьте в ячейку полный путь к файлу TXT, и нажмите зелёную кнопочку

Последний раз редактировалось EducatedFool; 01.09.2010 в 19:09.
EducatedFool вне форума Ответить с цитированием
Старый 01.09.2010, 20:10   #5
mmet
 
Регистрация: 01.09.2010
Сообщений: 9
По умолчанию

Большое спасибо!
То что нужно )
mmet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как поймать нажатия на несколько кнопок сразу? Juffin Общие вопросы Delphi 1 10.05.2010 20:26
Как удалить сразу несколько записей из таблицы? Vit@L БД в Delphi 5 16.02.2010 07:27
Как добавить сразу несколько ячеек к каждой ячейке некоего диапазона? eugenerud Microsoft Office Excel 20 24.07.2009 19:18
Как выделить несколько листов сразу? frantic150 Microsoft Office Excel 3 25.06.2009 01:25
как изменить значение всех ячеек сразу? Kssyuna Microsoft Office Excel 5 31.03.2009 20:19