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

Вход

Регистрация

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

 

= Мир MS Excel/макрос для извлечение данных из двумерного диапазона - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос для извлечение данных из двумерного диапазона (Макросы/Sub)
макрос для извлечение данных из двумерного диапазона
shady12 Дата: Воскресенье, 10.12.2017, 00:34 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый вечер!

Есть таблица, кол-во столбцов и строк которой может меняться. Необходимо, чтобы при нажатии кнопки на лист 2 выводились все значения ind_1, ind_2... ind_n в столбец
(в примере показала на листе 2)

как я понимаю, таблицу нужно транспонировать, помогите, пожалуйста
К сообщению приложен файл: 8547536.xlsm (15.3 Kb)


Сообщение отредактировал shady12 - Воскресенье, 10.12.2017, 00:35
 
Ответить
СообщениеДобрый вечер!

Есть таблица, кол-во столбцов и строк которой может меняться. Необходимо, чтобы при нажатии кнопки на лист 2 выводились все значения ind_1, ind_2... ind_n в столбец
(в примере показала на листе 2)

как я понимаю, таблицу нужно транспонировать, помогите, пожалуйста

Автор - shady12
Дата добавления - 10.12.2017 в 00:34
Эмкей Дата: Воскресенье, 10.12.2017, 02:30 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Судя по тому, что изображено на страницах Вашего файла, Ваша задача не в транспонировании, а в переводе двумерной таблицы в одномерную.
Видимо, выражаюсь чересчур туманно.
Давайте так - на Странице 1 таблица 10 х 10.
Какая таблица должна быть на Странице 2?
На Странице 2 в третьей строке показано:
ind_1 category_3 yes

Каким образом получена эта строка?


Молния не ударяет в долины? Ещё как ударяет!
 
Ответить
СообщениеСудя по тому, что изображено на страницах Вашего файла, Ваша задача не в транспонировании, а в переводе двумерной таблицы в одномерную.
Видимо, выражаюсь чересчур туманно.
Давайте так - на Странице 1 таблица 10 х 10.
Какая таблица должна быть на Странице 2?
На Странице 2 в третьей строке показано:
ind_1 category_3 yes

Каким образом получена эта строка?

Автор - Эмкей
Дата добавления - 10.12.2017 в 02:30
doober Дата: Воскресенье, 10.12.2017, 03:27 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Каким образом получена эта строка?
Попробуйте решить головоломку


 
Ответить
Сообщение
Каким образом получена эта строка?
Попробуйте решить головоломку

Автор - doober
Дата добавления - 10.12.2017 в 03:27
Эмкей Дата: Воскресенье, 10.12.2017, 03:32 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Чорт!
Знаете, в половине четвертого ночи, когда завтра работу представлять, даже небольшие усилия по решению головоломок кажутся чрезмерными.
================
Кажется дошло - номера второй строки таблицы 1 вывернуты наизнанку.
Собственно, вторая строка эта и не нужна.
Фактически надо сопоставить строку #1 со столбцом, у которого индекс равен 1, строку #2 со столбцом, у которого индекс 2 и т.д.
В итоге таблица 2 строится так:
строка #1 столбец у которого #1 значение в пересечении

В итоге решение будет таким - отсортировать Таблицу 1 по столбцам, чтобы они шли по порядку, задаваемому верхней строкой : #1, #2, #3 ... #10

Тогда Таблица2 будет выглядеть так:

Таблица1(i, 1) Таблица1(1, i) Таблица1(i,i)

Но это после сортировки.

Альтернатива - построить функцию отыскания столбца, в котором #i

Тогда так:

Таблица1(i, 1) Таблица1(1, f(i)) Таблица1(i,f(i))


Молния не ударяет в долины? Ещё как ударяет!

Сообщение отредактировал Эмкей - Воскресенье, 10.12.2017, 03:41
 
Ответить
СообщениеЧорт!
Знаете, в половине четвертого ночи, когда завтра работу представлять, даже небольшие усилия по решению головоломок кажутся чрезмерными.
================
Кажется дошло - номера второй строки таблицы 1 вывернуты наизнанку.
Собственно, вторая строка эта и не нужна.
Фактически надо сопоставить строку #1 со столбцом, у которого индекс равен 1, строку #2 со столбцом, у которого индекс 2 и т.д.
В итоге таблица 2 строится так:
строка #1 столбец у которого #1 значение в пересечении

В итоге решение будет таким - отсортировать Таблицу 1 по столбцам, чтобы они шли по порядку, задаваемому верхней строкой : #1, #2, #3 ... #10

Тогда Таблица2 будет выглядеть так:

Таблица1(i, 1) Таблица1(1, i) Таблица1(i,i)

Но это после сортировки.

Альтернатива - построить функцию отыскания столбца, в котором #i

Тогда так:

Таблица1(i, 1) Таблица1(1, f(i)) Таблица1(i,f(i))

Автор - Эмкей
Дата добавления - 10.12.2017 в 03:32
shady12 Дата: Воскресенье, 10.12.2017, 15:53 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
извините за плохое объяснение))

по факту мы даже не ищем совпадений ind_1 с ind_1, а берем просто колонку А3 и все последующие значения отображаем вертикально.
у меня есть похожий макрос, но он почему-то отрабатывает с ошибкой
К сообщению приложен файл: post_88369.xls (51.0 Kb)
 
Ответить
Сообщениеизвините за плохое объяснение))

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

Автор - shady12
Дата добавления - 10.12.2017 в 15:53
Эмкей Дата: Воскресенье, 10.12.2017, 18:54 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Пожалуйста, составляйте свои фразы так, чтобы:
1. их можно было понимать однозначно
2. их можно было понять быстро, не ломая голову.

Что это за "колонка А3"?!
Что за "последующие выражения"?!


Молния не ударяет в долины? Ещё как ударяет!
 
Ответить
СообщениеПожалуйста, составляйте свои фразы так, чтобы:
1. их можно было понимать однозначно
2. их можно было понять быстро, не ломая голову.

Что это за "колонка А3"?!
Что за "последующие выражения"?!

Автор - Эмкей
Дата добавления - 10.12.2017 в 18:54
Wasilich Дата: Воскресенье, 10.12.2017, 21:19 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
берем просто колонку А3 и все последующие значения отображаем вертикально.
На так, что же в первом примере за билиберда в колонке С, с толку сбила.
[vba]
Код
Sub www()
  Dim ps&, i&, j&, sz&
  With Sheets("Лист2")
    ps = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("A2:C" & ps).ClearContents
    sz = 2
    For i = 3 To Range("A" & Rows.Count).End(xlUp).Row
      For j = 2 To Cells.SpecialCells(xlLastCell).Column
        .Cells(sz, 1) = Cells(i, 1)
        .Cells(sz, 2) = Cells(2, j)
        .Cells(sz, 3) = Cells(i, j)
        sz = sz + 1
      Next
    Next
  End With
End Sub
[/vba]


Сообщение отредактировал Wasilich - Воскресенье, 10.12.2017, 21:25
 
Ответить
Сообщение
берем просто колонку А3 и все последующие значения отображаем вертикально.
На так, что же в первом примере за билиберда в колонке С, с толку сбила.
[vba]
Код
Sub www()
  Dim ps&, i&, j&, sz&
  With Sheets("Лист2")
    ps = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("A2:C" & ps).ClearContents
    sz = 2
    For i = 3 To Range("A" & Rows.Count).End(xlUp).Row
      For j = 2 To Cells.SpecialCells(xlLastCell).Column
        .Cells(sz, 1) = Cells(i, 1)
        .Cells(sz, 2) = Cells(2, j)
        .Cells(sz, 3) = Cells(i, j)
        sz = sz + 1
      Next
    Next
  End With
End Sub
[/vba]

Автор - Wasilich
Дата добавления - 10.12.2017 в 21:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос для извлечение данных из двумерного диапазона (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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