Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Перенос данных со столбцов одного листа на другой лист в определенной последовательности, Вопрос к пользователю Kuzmich
 
Kuzmich, ну просто шик! Даже без прогрузки процесса! Запустил макрос и ничего не произошло. Красотища!
Сегодня всё протестим, если будут вопросы, в ближайшие дни отпишусь.

Ещё раз огромное спасибо! +++
И доброй ночи!
Изменено: Cliffe - 11.02.2020 00:52:27
Перенос данных со столбцов одного листа на другой лист в определенной последовательности, Вопрос к пользователю Kuzmich
 
Цитата
Kuzmich написал:
Столбец А был занят вашим примером, переделайте на А
Параметры заменил, всё отлично.
Цитата
Kuzmich написал:
Так можно сделать ширину ячейки на 300 символов
Если не ошибаюсь, растягивается ячейка по ширине на 255 символов в Excel 2019. Возможно, не прав в самой цифре.
Но точно знаю, что есть ограничение.
Растянуть могу, но текст последней строки будет сильно заходить на соседнюю ячейку. Так ОГРОМНЫЕ текстовые значения. Скорее всего уплывет закрашенная ячейка. Завтра проверю, отпишусь.

А всё таки, можно узнать: "А возможно без сдвига?"

Так, Kuzmich, огромная благодарность за помощь!  Кудесник, не иначе..  :D
+++
Перенос данных со столбцов одного листа на другой лист в определенной последовательности, Вопрос к пользователю Kuzmich
 
В целом то, что я хотел.  :excl:
Но есть пару моментов..

а) На листе ОТКУДА берутся данные. После применения макроса заполненная правая ячейка сдвигается влево, если есть пустая ячейка (-и) слева.
Я, конечно, сохраню этот вариант, на всякий случай. Но, желательно, чтобы сдвигов не было. Просто будет лютая путаница по вертикали (визуально для глаз).
Я так понимаю, Вы сделали процесс таким: сначала сдвиг влево (чтобы заполненные ячейки прижались друг к другу и не было пробелов), потом копирование на нужный лист.
А возможно без сдвига?

б) Не пойму, почему на конечном листе отображение идёт со столбца B? Со столбца А было бы привычнее.. :)
Мне главное одна строчка сверху, чтобы дать шапку. Но это уже есть, всё отлично.
А вот почему с В-столбца?

в) Заливка всей строки возможна?
В оригинале в любой одной ячейке слов будет на 300-400 символов, поэтому закрашенная одна ячейка вообще погоды не сделает. Она растворится. :)
Хотелось бы всю строку.
Изменено: Cliffe - 10.02.2020 23:55:36
Перенос данных со столбцов одного листа на другой лист в определенной последовательности, Вопрос к пользователю Kuzmich
 
Цитата
Kuzmich написал:
Исходную таблицу можно видоизменять?

А есть в этом смысл?
Диапазон же ведь всё время будет разный. По ширине он максимально может быть 15 столбцов. Может быть и меньше.
А по высоте - и 30 строк (товаров), и 3000 строк.

И внутри диапазона ячейки, как я написал выше, непостоянны.

Попробуйте, если это так важно.
Просто мне кажется в этом нет смысла, так как мой первоначальный файл не шаблон, ни в коем разе.

А сам макрос меняйте как считаете нужным. :)
Перенос данных со столбцов одного листа на другой лист в определенной последовательности, Вопрос к пользователю Kuzmich
 
Не совсем понял вопрос.

На этом листе "Исходные данные (2)" я произвольно удалил текст в ячейках.
Пустые ячейки будут постоянно меняться. Вы можете взять мой полностью заполненный Лист 1 (12х15) из примера и произвольно удалить в любых местах текст.

Нет конкретного шаблона. Я просто в качестве первоначального примера постарался показать плюс-минус приближенный вариант того, с чем работаю.
Вот допустим, другой пример. Файл.

p.s. Не я это ручками удаляю данные в ячейках, а такие исходные данные приходят со стороны.
Перенос данных со столбцов одного листа на другой лист в определенной последовательности, Вопрос к пользователю Kuzmich
 
Всех приветствую!
И особенно пользователя Kuzmich!  :)

Пару месяцев назад данный пользователь помог мне с одним макросом, указанным в этой теме.

До сих пор пользуюсь этим решением в личных целях, всё отлично! Очень рад.

Но тут на другом фронте потребовался данный макрос с небольшими доработками.
Поэтому вопросы по большей части адресованы к Kuzmich'у.

Прикрепляю файл-пример.
На первых двух листах показаны идеальные условия, исходные данные и что должно получиться в конечном итоге. Но подобного никогда не будет. Оставил листы  просто для понимания идеальной ситуации.
Будет приблизительно как на листе номер три. Не во всех ячейках всех столбцов и строк будут указаны текстовые данные.

а) В товарах 5 и 6 образовались пробелы - строки 40-42 и 56,57. Возможно ли сделать так, чтобы текст в блоке всегда шёл "друг к другу" как на листе 2.
Т.е. "Товар 5 Текст 7" на 40-й строке, "Товар 5 Текст 8" на 41-й, а "Товар 6 Текст 6" соответственно поднялся бы до 53-й строки.
Сохранялась бы "блочность-кучность" вне зависимости от наличия пустот в исходных данных.

б) Возможно ли увеличить пробел между блоками с 1-й строки (7,15,24) до 3-х (7-9, 17-19 и т.д.)? Желательно с "ручной настройкой" в самом макросе.
Соответственно, не конфликтуя с пунктом а). Т.е. должно быть все "кучками", но с большим интервалом.

в) Возможно ли залить любым цветом вот это пробел в три строки в автоматическом режиме?
Желательно, конечно, обычным красным для наглядности.

===
Это нужно для того, чтобы видеть разделение меж блоками при большом количестве строк.
В данном примере я внес 12 товаров (13 строк с шапкой), а по факту их будет как минимум 1500 (1500 строк), а в худшем несколько тысяч.
И нужно, чтобы а) сохранилась "кучность" (без пробелов); б) был бОльший интервал между блоками и эти пробелы были более менее видны цветом.

Вывод итога в файле поставил со второй строки. Пусть так и останется.

===
Сегодня (10.02) "на связи" до часу ночи по МСК.
Завтра уже ограничен просмотр-ответ с рабочего места после 10:00 по МСК. После 19:00 снова полноценно "в сети".
Задача по переносу данных со столбцов одного листа на другой лист в определенной последовательности
 
Kuzmich,  огромнейшее спасибо!   :excl:

То. что ручками заносил от нескольких часов до нескольких дней теперь буду делать автоматически за пару минут.
Занес данные в начале и получил готовый текст в конце.

p.s. В ближайшие пару дней возможны какие-либо мелкие правки/вопросы по макросу. Но на данный момент всё работает и всё идеально!  :)  
Задача по переносу данных со столбцов одного листа на другой лист в определенной последовательности
 
Kuzmich,

Спасибо за предложенный вариант.
Понял свои косяки, не всё в условиях указал. :)
Во-первых, столбцы должны идти друг за другом, а у меня в огромном основном примере было не так. Исправил это.
В-вторых, макрос из первых трех и пятого столбцов перенес сами формулы, а нужно, видимо, значения.
И получилось так.
https://postimg.cc/n9Bc72cg

По скрину видно, с первых трёх - "сцепки", а с 5-го формулу, которая ссылается на другой лист.

И в-третьих, не указал в условиях задачи, что в макросе, наверное, лучше ввести переменную (которую я буду менять ручками), чтобы перенос данных был только по кол-ву "рабочих" строк.
А то "рабочих" строк у меня, к примеру, 30, а он копирует и дальше, все последующие, к примеру, 70 ошибок (пустые значения в ячейках  - #ЗНАЧ! , 0  и прочее подобное).
Изменено: Cliffe - 23.12.2019 21:33:37
Задача по переносу данных со столбцов одного листа на другой лист в определенной последовательности
 
Доброго времени суток.

Есть задача.
Всё очень подробно расписал и показал, что должно получить в итоге, но в автоматическом (если это возможно) режиме. В прикрепленном ниже файле.
Объяснить текстом это очень сложно, нужно видеть.

2 листа, все комментарии выделил разными цветами.

Спасибо.

Пример с описанием.
Изменено: Cliffe - 23.12.2019 20:02:31
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
Цитата
БМВ написал: TotalCommander + плагин tcmediainfo.
правильно ли понимать, что никакого интерфейса к excel тут нет?
Не совсем понял вопрос.
Там вся информация из Тotal Сommander банально ручками (копипаст) копируется в Excel. В Excel появляются все эти данные уже в виде значений, что очень удобно.
И после настраивается ширина-высота ячеек и прочие "украшательства".

Если вдруг нужно будет в подробностях, пишите в ЛС. А то это совсем не по теме. Раз.
И не по Excel в целом - два.
Заругают..  :)
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
TotalCommander + плагин tcmediainfo.
Разобрался, если кому это интересно, пишите в личку, всё распишу, что да как.
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
Цитата
БМВ написал:
то инфы то полно
Где ж Вы были с этой ссылкой вчера?  
Я столько времени потратил на перебор значений.. :D

Цитата
БМВ написал:
..в итоге, не всегда подходит.
В данном случае всё сошлось (у тех у кого Win7). А у кого Win10 придется чуть посидеть, поискать самим нужные параметры.


В целом вопрос решён. Спасибо БМВ за помощь! +++
:)
Изменено: Cliffe - 22.12.2019 21:59:09
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
БМВ, Итак.
Мне больше всего из всех 3 предложенных вариантов понравился второй.
Почему в нём не подцеплялись данные по разрешению файла? Предполагаю у нас с Вами разные операционные системы, у меня Win7.

Соответственно методом тыка (подстановки) обнаружил, что
285 - Ширина кадра;
283 - Высота кадра;
284 - Частота кадров видео (fps);
282 - Битрейт видео;
27 - Битрейт аудио.

Самое интересное, что Частоту дискретизации аудио (44100Hz, 48000Hz и т.д.) я найти параметр не смог. Проверил с 1-го по 800-й, два раза.
Хотя в свойствах файлов она (Чд) есть.

Код
Private RestFolderToProc As String
Private Sub CommandButton1_Click()
FolderToProc = GetFolderPath(, RestFolderToProc)
If FolderToProc <> "" Then
    Application.EnableEvents = False
    RestFolderToProc = FolderToProc
    Range("A11:F344").ClearContents
    i = 21
'    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objShellApp = CreateObject("Shell.Application")
    Set objFolder = objShellApp.Namespace(FolderToProc)
    Set objFolderItems = objFolder.items()
    objFolderItems.Filter 64 + 128, "*.avi;*.mp4;*.wmv;*.vob"
    For Each File In objFolderItems
'        Cells(i, 1) = objFSO.GetBaseName(File.Path)
        Cells(i, 1) = Left(File.Name, InStrRev(File.Name, ".") - 1)
'        Cells(i, 2) = objFSO.GetExtensionName(File.Path)
        Cells(i, 2) = Mid(File.Name, InStrRev(File.Name, ".") + 1)
        With objFolder
            Cells(i, 3) = .GetDetailsOf(File, 1)
            Cells(i, 4) = .GetDetailsOf(File, 27)
            Cells(i, 5) = .GetDetailsOf(File, 285)
            Cells(i, 6) = .GetDetailsOf(File, 283)
            Cells(i, 7) = .GetDetailsOf(File, 284)
            Cells(i, 8) = .GetDetailsOf(File, 282)
            Cells(i, 9) = .GetDetailsOf(File, 28)
            End With
        i = i + 1
    Next
    Application.EnableEvents = True
End If
End Sub

Private Function GetFolderPath(Optional ByVal Title As String = "Выберите папку", _
                       Optional ByVal InitialPath As String = "c:\") As String
    With Application.FileDialog(msoFileDialogFolderPicker)
        If Not Right$(InitialPath, 1) = PS Then InitialPath = InitialPath & PS
        .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        If .Show <> -1 Then Exit Function
        GetFolderPath = .SelectedItems(1)
    End With
End Function
Добавил 7, 8 и 9-й столбцы.

Вот сам файл (прикрепил к этому посту).

1) Не знаю, что делать с Частотой дискретизации аудио. Все параметры есть, кроме этого. А он (параметр) тоже нужен. :(
2) Как изменить размер и расположение самой кнопки Folder? Мне бы её куда-нибудь на ячейку Е2 сдвинуть.
3) 19-ю строку закрепить на 9-й (переместить и закрепить). Чтобы при ручной очистке всех ячеек на странице эта шапка оставалась на месте.
4) Ну и начало списка с 11 строки. Это как я понял параметр i = 21 (11 и пр.).


=======
Третий вариант, как я понимаю, не сможет показать вот эти прочие свойства файлов? Если так, то вариант этот не подходит. Остановлюсь на втором.

И надо пробовать:
Цитата
ixet написал:
Для аудио-видеофайлов давно использую TotalCommander. Плагин tcmediainfo прекрасно выводит метаинформацию. В Excel перекидывается штатными средствами TC из меню Иструменты

Может там ещё проще всё выйдет? :)
Изменено: Cliffe - 22.12.2019 00:34:04
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
БМВ, Моментом посмотрел ваш 3-й вариант (вот этот выше).
Всё сработало как надо. +++
Изменено: Cliffe - 22.12.2019 00:34:32
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
Спасибо. +++

Всё идеально, кроме одного момента. Ни один из этих двух предложенных вариантов не подцепляет ширину и высоту кадров.
Название, расширение, продолжительность - да, ширина и высота - нет.

Попробовал использовать несколько папок. И с разношёрстными форматами, и только лишь с mp4 ==> всё равно нет.
В чём может быть причина?

У Вас работает?
Изменено: Cliffe - 21.12.2019 17:27:09
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
БМВ, точно, спасибо за уточнение.

Цитата
БМВ написал:
..Только их надо прикормить шаблоном в файле формата XLS и более четким описанием задачи..
А шаблона как-такового нет, потому как директория папки (путь) будет постоянно меняться. Я это не указал в первом сообщении, потому как подумал, что знающие люди (здесь на форуме) будут отталкиваться от той формулы и полученного ею списка.
Немного подкорректирую описание задачи:

1) Директория (путь) папки с файлами будет постоянно меняться. Один раз "H:\Разное\блаблабла", в другой раз "С:\Видео\блаблабла" и т.д.
2) Количество файлов (в моём случае только видеофайлы) опять же будет постоянно меняться. Максимум 333 файла (беру значение с запасом, на всякий случай). Сегодня в одной папке 10 видео, завтра в другой - 225, послезавтра в третьей - 101 и т.д.
3) В моём представлении в идеале должно всё выглядеть так.
Либо на листе2 в ячейке А1, либо в макросе я вношу сам путь папки: (например "H:\Разное\блаблабла") и мне на листе2 (лист1 занят другими текстовыми данными) выдаётся информация как на данном скриншоте:

Скрытый текст

Структурно точь в точь как здесь.
Обязательно с 11-й строчки и вниз.  Не с 10 как на скриншоте, а с 11 и вплоть до 343 строки включительно.
#ИМЯ? - с той формулы, хорошо, если подобного не будет.

а) Первый столбец - названия файлов; желательно без разрешения (без последних 4 символов: .mp4, .avi и т.д.). Но это, если что, решается формулой  
Код
=ЛЕВСИМВ(адрес_ячейки;ДЛСТР(адрес_ячейки)-4)
б) Второй столбец (B11-B343) - Продолжительность,
в) Третий (C11-C343) - Размер
И так до столбца F (всё как на скрине выше).

Вроде бы все условия теперь указал.
Что есть и что нужно получить. На скрине - как выглядит это визуально.
Изменено: Cliffe - 16.12.2019 23:44:56
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
БМВ, снизим уровень ваших ожиданий о моих знаниях Excel практически до нуля.  :D  От этого и оттолкнёмся.

Не понял, что нужно было мне сделать.

1) В какой момент прописать этот макрос? До той формулы (с pikabu) или можно уже и после применения (получения списка)?
2) Или одно от другого вообще никак не зависит и можно без той формулы (списка) обойтись?
3) В третьей строке указать свой путь - это понятно. В четвертой и пятой строке названия двух ваших фильмов указаны (видимо, скопированы) вручную.
Тут вообще ничего понял, какой порядок моих действий? Пошагово.  :oops:

Так я попробовал прописать путь и названия первых двух файлов из папки --> Save Module --> Exit VBA --> Любая пустая ячейка --> Макросы-test-выполнить.
Естественно, ничего. И с формулой (до и после), и без.

А так спасибо за отклик. +
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
Цитата
БМВ написал:
..MKV сложный формат, метаданные просто так vjuen светятся, но их можно разобрать или  вроде если открыть его медиаплеером, то объект может дать к ним доступ..
Крайне редко у меня встречается, поэтому забудем про него.
Мне бы и без него получить нужный результат. :)
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
Цитата
Вместо c:\FOLDER напишите путь к своей папке.

Спасибо за предложенный вариант. +

Создал новый модуль, прописал данный текст, заменил в нём путь, сохранил. На нужном листе запустил и получилось следующее:

Скрытый текст

А я в итоге хотел бы получить следующий вид, это возможно?

Скрытый текст

Желтым идёт то, что дано на том портале, а розовым фоном то, что хотелось бы получить в итоге данной темой.
Ширина и высота кадра, видимо, не подцепляются, правильно понял?
Цифровые значения даны "от балды".
___
Вот эти полученные свойства для каждого файла (вся строка) потом перейдут в единую текстовую ячейку. Но это так, к слову.
Изменено: Cliffe - 16.12.2019 16:32:33
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
Всех приветствую.

На данном портале (pikabu.ru) дана информация как вывести список файлов любой папки списком в Excel при помощи Диспетчер имён и формулы:
Код
=ЕСЛИОШИБКА(ИНДЕКС(Список_файлов;СТРОКА()-2);””)

Копировать чужой текст, мне кажется, не имеет смысла, там всё подробно расписано, что и для чего делается. Потому сразу вопрос.

Возможно ли добавить в соседние справа ячейки ещё и информацию о свойствах файла?
Понимаю, что файлы бывают разные, но в моём случае нужны (будут) свойства видеофайлов (avi,mp4,wmv и т.д.):
Продолжительность (в виде 1:13:35 (ч/м/с));
Ширина кадра;
Высота кадра;
Размер;
Тип.

Т.е. рядом в столбцах B-F вся эта информация.
Если так (любым возможным способом), то распишите, пожалуйста, как это сделать.

Нюансы, что формат mkv не отображает всю эту информацию в проводнике и размер файла идёт в КБ. Ну да ладно, не страшно.

Спасибо.
Изменено: Cliffe - 16.12.2019 22:29:40
Макрос для автоматической сортировки, ..текста на 4 листе. Файл-пример прилагается.
 
Цитата
JayBhagavan написал:
я не понимаю смысл такого извращённого ввода данных..
Все вручную начал вносить, очень удобно получается и информативно.
Картинки, текст, картинки, текст.
Жаль потом придется сортировать вручную на 4 листе, но да ладно.
Цитата
JayBhagavan написал:
Остальные молчат, т.к., скорее всего, тоже не видят логики в таком хранении данных. И алгоритма тоже не видят.
Вполне возможно, но главное мне удобно и понятно.  :)

Темку можно закрывать.
Макрос для автоматической сортировки, ..текста на 4 листе. Файл-пример прилагается.
 
Всего один человек ответил, может ещё у кого есть какие-нибудь варианты?
Макрос для автоматической сортировки, ..текста на 4 листе. Файл-пример прилагается.
 
Цитата
JayBhagavan написал: Объясните, что Вы вообще делаете..
Ввожу адреса (текст) и личные данные (название). На третьем листе для каждого адреса должен быть перечень ЛД.
Там где пробелы в 4 ячейки - там будут мини скрины объектов.
Цитата
JayBhagavan написал: Вам нужно менять подход к вводу..
Тут подумал, что если убрать Вариант 1 у двойного текста и оставить только второй. И получается определенная структура (промежутки) между этими подразделами (подпунктами).
На 2-м и 3-м листе тоже всё в определенной последовательности. Может диапазоны как-нибудь использовать?

Скрытый текст
Изменено: Cliffe - 15.11.2015 16:44:24
Макрос для автоматической сортировки, ..текста на 4 листе. Файл-пример прилагается.
 
Цитата
JayBhagavan написал: по какому принципу макрос будет идентифицировать где Текст, а где Название
"как только я ввел второй раз.." - это видимо надо считать как по самому тексту, не по заливке.
Заливку я сделал только для того, чтобы показать на какую ширину может идти текст по максимуму. Возможно это и не надо было делать, чтобы не путать, но всё же для наглядности.
И из этого должен был вытекать ответ на второй вопрос..
Цитата
JayBhagavan написал: К чему Вы форматируете текст в ячейках пробелами
.. но я только сейчас, прочитав последние 2 слова "объединение ячеек", вспомнил, что действительно, надо было их просто объединить.
Вот сейчас ещё понял, что нужно связать сам текст с названием (желтое с фиолетовым) для каждого, не знаю как обозвать, подраздела, подпункта (синим на рис. ниже). Но опять же не по заливке, её в работе вообще не будет.

Цитата
JayBhagavan написал: За хорошо составленную тему от меня лично Вам 4 из 5.
Это хорошо или плохо? Вроде должно быть хорошо..  :)
Изменено: Cliffe - 15.11.2015 07:27:25
Макрос для автоматической сортировки, ..текста на 4 листе. Файл-пример прилагается.
 
Всем доброй ночи.
Вопрос сложный, надеюсь на помощь, если это вообще возможно.
Суть такова.
наглядно

Вношу данные "Текст" 1, 2, 3, 4...11.. (это будут слова) и к ним "Названия".
Текстов, относящихся к одному названию может быть максимум 4 (как на рис.1 справа).
И вот как только я ввел второй раз "Текст" 1, 2, 4, 5... на скрине 2 автоматически в ячейку сносилось это слово "Текст n" и списком рядом (фиолетовым) названия.
"Текст 1" можете видеть за все 3 листа (лист "Для 2-х", "Для 3-х" и "Для 4-х") повторился 3 раза и поэтому список "Название 1,7,9", а вот "Текст 5" повторился 6 раз - список из 6 названий.  
Т.е. в первые 3 листа я забиваю всё вручную, а на 4-м листе должно всё появляться автоматически. Для 2 текстов может быть 2 варианта (если, конечно, это технически возможно).
Файл-пример прикрепил.
Изменено: Cliffe - 15.11.2015 09:56:17
Страницы: 1
Наверх