Страницы: 1
RSS
VBA Транспонирование по условию
 
Прошу помощи в написании макроса.
Есть выходные данные (столбцы A:F) и они выгружаются в отвратительном виде, и прежде чем с ними возможно было проделать расчеты нужно их преобразовать к виду (столбцы Q:W). Количество элементов в столбце S из раза в раз может меняться, так и количество столбцов (T:W) может достигать 50 штук. А так же количество "Repeat" может быть от 1 до 20.

Сейчас, написанный мною макрос, худо бедно работает при определенных условиях, но хотелось бы сделать его более динамичным.

1. Макрос работает корректно только если в выходных данных есть 2 реплики(Repeat), Если будет к примеру 3, как на листе 2, то уже будут разрывы в строках, пытался сделать так что бы через inputbox задавать в ручную количество реплик (но хотелось бы что бы макрос сам понимал это) , и затем вставить эту переменную в условие, но ничего толкового  не вышло.

2. После траспонирования я составляю данные в один диапазон (столбцы T:W) c помощью формулы:
=ИНДЕКС($K:$K;СТРОКА()+(СТОЛБЕЦ(A1)-1)*55) которую необходимо вручную растягивать, а также вручную прописывать последнюю цифру в зависимости от количества элементов в столбце S. Хотелось бы вписать это действие в макрос, но даже нет идей как заставить его понимать до какого столбца и строчки заставить его растягивать формулу. И так же хотелось бы сделать функцию которая предлагает на выбор вытягивать столбцы с Avereg, Repeats, 1.2.3....

3. Так же в столбце S я разделяю буквы и цифры, с помощью пользовательской формулы, с буквами работает, а вот с цифрами не задалось и так же хотелось бы вписать в макрос автоматический диапазон растягивания формулы, а лучше что бы в ячейку была вписана не формула а только значение.

4. И хотелось бы подписать столбцы после транспонирования сверху(выделено желтым), но не знаю как это сделать не изобретая костыли, коих тут и так навалом получилось.

Прошу прощения за такой некачественный код. Я совсем новичок в этом.
 
В блоках исходных перечень хим. элементов всегда одинаков? Не меняется от блока к блоку?
Кому решение нужно - тот пример и рисует.
 
В пределах одного листа от блока к блоку перечень и количество элементов не меняется, но меняется от листа к листу
 
На копии листа "Shee1" на кнопку повешен новый макрос. Формулы не используются, просто данные реорганизуются из исходных в нужный вид и выгружаются, начиная с Q6 на том же листе. Код под спойлером
Скрытый текст


P.S.Добавил в код комментарии
Изменено: Пытливый - 18.05.2022 10:04:45
Кому решение нужно - тот пример и рисует.
 
Эвона как оказывается все можно организовать. Нижайший поклон Вам.
Есть некоторые нюансы, которые я хотел бы добавить, но попробую сам разобраться как это работает.
 
Будут вопросы - велкам.
Кому решение нужно - тот пример и рисует.
Страницы: 1
Наверх