|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.08.2012, 12:18 | #1 |
Новичок
Джуниор
Регистрация: 16.08.2012
Сообщений: 6
|
Что не так в макросе
Макрос - редизайнер, трансформирует матрицу в обычную таблицу только те ячейки в которых есть значения.. Мне нужно что бы он "переворачивал" всю выделенную таблицу, а он переворачивает только первый один столбец.
Sub Redesigner() Dim InVal As Variant Dim OutVal() As Variant Dim j, k, i As Long Dim NewSheet i = 1 InVal = Selection.Formula ReDim OutVal(1 To Selection.Count, 1 To 3) For j = 2 To UBound(InVal, 1) For k = 2 To UBound(InVal, 2) If InVal(j, k) <> "" Then OutVal(i, 1) = InVal(j, 1) OutVal(i, 2) = InVal(1, k) OutVal(i, 3) = InVal(j, k) i = i + 1 End If Next k Next j Set NewSheet = Worksheets.Add NewSheet.Range("A1").Resize(UBound( OutVal, 1), 3).Value = OutVal End Sub Помогите дописать макрос, что бы он транформировал весь выделенный диапазон и вставлял значения, без формул. Спасибо! Последний раз редактировалось cryingmary; 16.08.2012 в 12:26. |
16.08.2012, 17:50 | #2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Приложите XLS с примером: что есть, что надо получить.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
16.08.2012, 18:07 | #3 |
Новичок
Джуниор
Регистрация: 16.08.2012
Сообщений: 6
|
http://ompldr.org/vZjRqYQ/%D0%BF%D1%...%B5%D1%80.xlsx
Т.е. нужно что бы из общей таблицы, данные трансформировались в "список" только там где будут стоять 1 напротив адресса. Там где пусто, строки не подтягивались. Макрос это делает, только с одной колонкой, большой диапазон данных он не отображает. Последний раз редактировалось cryingmary; 16.08.2012 в 18:11. |
16.08.2012, 19:24 | #4 |
Пользователь
Регистрация: 02.06.2010
Сообщений: 57
|
Столбцов с адресами всегда столько (5), или может меняться?
|
16.08.2012, 20:53 | #5 |
Новичок
Джуниор
Регистрация: 16.08.2012
Сообщений: 6
|
|
16.08.2012, 21:34 | #6 |
Пользователь
Регистрация: 02.06.2010
Сообщений: 57
|
Еще такой вопрос - "1" - это просто знак, что строка используется, или число - сколько раз строку нужно повторить?
И шапка основной таблицы постоянна, я правильно понял? |
16.08.2012, 22:57 | #7 |
Пользователь
Регистрация: 02.06.2010
Сообщений: 57
|
Проверяйте.
|
17.08.2012, 10:13 | #8 |
Новичок
Джуниор
Регистрация: 16.08.2012
Сообщений: 6
|
что-то совсем не то, он генерит список под таблицей, а не на другом листе и данные совсем не те вставляет. Шапка не меняется.
|
17.08.2012, 10:32 | #9 |
Пользователь
Регистрация: 02.06.2010
Сообщений: 57
|
Да, чуть ошибся. В конце кода пропустил точку.
вот здесь Код:
зы. А то он "генерит" не под таблицей, а вместо таблицы, если запускать с листа "как есть". Последний раз редактировалось Михаил С.; 17.08.2012 в 10:46. |
17.08.2012, 11:33 | #10 |
Новичок
Джуниор
Регистрация: 16.08.2012
Сообщений: 6
|
да теперь гуд, есть 1 момент. Выдает ошибку Out of range. Реальная, рабочая область таблицы с В2:V2 а дальше идут в шапке адресса W:TU
Вниз таблица добавляется постоянно. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
что не так? | sashqaw0w | Помощь студентам | 10 | 25.12.2011 22:31 |
Как в этом макросе указать , что-бы было название каждого листа и книги ,при сборе всех листов на один ? | Александр 33 | Microsoft Office Excel | 9 | 06.01.2011 18:40 |
Что-то не так в программе...не пойму что | Karina_Vamp | Помощь студентам | 5 | 24.12.2010 21:06 |
Что неверно в макросе? | Иванов_ДМ | Microsoft Office Excel | 11 | 22.05.2009 21:57 |