
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
08.06.2005, 12:21:01
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
Есть такая задачка. Есть таблица: 11103 1001211103 1139111103 1133111143 1110111143 1137211143 1113211143 1119111151 1114211151 105 Мне надо, чтобы получилась таблица следующего вида. 11103 10012 11391 1133111143 11101 11372 11132 1119111151 11142 105 Думал, что с помощью сводной таблицы можно, но желаемого результата не получилось. Кто подскажет, как можно реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.06.2005, 15:47:13
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
Все. Рано или поздно я бы реализовал. Просто начальник каждые пять минут спрашивал сделал я или нет. Я подумал, что кто-то решал подобную задачу, чтобы мне не тратить время на изобретение велосипеда. Сделал так: 1. Экспортировал данные в Access. 2. Сделал запрос с группировкой по двум этим столбцам, чтобы избежать повторений. 3. Скопировал результат запрос в Excel. 4. Сделал сводную диаграмму (в данных постовил сумму по 2-му столбцу, т.к. повторений нет, то пишутся исходные значения). 5. Скопировал данные в отдельный лист. 6. Написал макрос, которые удаляет пустые учейки со сдвигом влево, чтобы подтянуть данные. Вот и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.06.2005, 15:58:32
|
|||
|---|---|---|---|
Преобразование значений таблицы Excel |
|||
|
#18+
на будущее - функция ТРАНСП() (VBA: VorksheetFunction.Transpose) вариант с функцией массива в листе приложен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.06.2005, 16:25:34
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
Victosha , спасибо. Я подозревал, что в Excel должна быть такая функция. На будущее буду знать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.06.2005, 21:34:26
|
|||
|---|---|---|---|
Преобразование значений таблицы Excel |
|||
|
#18+
прошу прощения, это я не на тот вопрос отвечал. виноват, поторопился. по теме тут ближе всего сводная таблица. либо явно макрос рисовать на заполнения. он простой получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.06.2005, 08:42:08
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
Victoshaпрошу прощения, это я не на тот вопрос отвечал. виноват, поторопился. по теме тут ближе всего сводная таблица. либо явно макрос рисовать на заполнения. он простой получится. Я вообщем-то так и сделал. Сводная таблица + макрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.06.2005, 10:07:36
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
Victosha, по поводу транспонирования. Можно обойтись без формулы, а просто скопировать столбец и сделать специальную вставку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.06.2005, 11:09:53
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
И еще вопрос у меня есть табличка со следующими данными: 11202 11211 11213 1137111212 11351 11353 Делаю специальную вставку "Пропускать пустые ячейки", но все остается также. В чем проблема? А при выполнении такого кода: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Получается: 11202 11211 11213 1137111212 11351 11353 Т.е. удаляются не все пустые ячейки. Может надо еще какое-нибудь условие с Offset прописать. Кто подскажет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.06.2005, 23:48:04
|
|||
|---|---|---|---|
Преобразование значений таблицы Excel |
|||
|
#18+
Если я на этот раз правильно понял "задачу", то решение (с точностью до деталей оформления) может быть таким: Код: plaintext 1. 2. 3. 4. (может быть можно быстрее, а вот красивее - вряд ли) что же до For Each - то, с чем ты столкулся - это стандартная особенность реализации. Некоторые склонны считать ее багом. В любом случае, - не надо использовать For Each в комбинации с методами манипулирования составом коллекции (добавления/удаления элементов). Это будет работать не так, как хотелось бы, во всех случаях применения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.06.2005, 08:36:08
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
Да, Victosha, это то что нужно. Но одно но, это получается бесконечный цикл. Как я понял. Сдвигает все правильно, но в выделенном диапазоне в конце остаются пустые ячейки и из-за этого получается бесконечный цикл из которого можно выйти только по CTRL+BREAK. Как можно обойти такое зацикливание? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.06.2005, 08:40:52
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
Сам отвечу (надо добавить Выход в цикл): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.06.2005, 09:37:47
|
|||
|---|---|---|---|
Преобразование значений таблицы Excel |
|||
|
#18+
Да нет - все гораздо хуже. Там опять очепятка ... идея такая была: Dim tArea As Excel.Range For Each tArea In Application.ActiveWindow.Selection.Areas tArea.SpecialCells(xlCellTypeBlanks).Delete xlShiftToLeft Next да по дороге потерялась... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.06.2005, 09:45:59
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
Код: plaintext 1. 2. Отрабатывает как надо. Victosha , спасибо, красивое решение, а то цикл Код: plaintext 1. 2. 3. 4. приходилось раз 5 выполнить, чтобы все "подтянуть". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.06.2005, 07:42:38
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
А зачем вообще цикл применять … ведь для решения Вашей задачи достаточно : Selection.SpecialCells(xlBlanks).Delete xlShiftToLeft ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.06.2005, 08:50:19
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
pashulka.А зачем вообще цикл применять … ведь для решения Вашей задачи достаточно : Selection.SpecialCells(xlBlanks).Delete xlShiftToLeft Да, ты прав. Без цикла будет лучше и правильнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2005, 16:49:53
|
|||
|---|---|---|---|
Преобразование значений таблицы Excel |
|||
|
#18+
Пользователь2 pashulka.А зачем вообще цикл применять … ведь для решения Вашей задачи достаточно : Selection.SpecialCells(xlBlanks).Delete xlShiftToLeft Да, ты прав. Без цикла будет лучше и правильнее. я рисовал цикл, чтобы иметь возможность обрабатывать множество выделенных несвязанных диапазонов. А ты зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2005, 16:54:11
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
Я рисовал цикл, чтобы проверять пуста ли ячейка в заданном диапазоне и удалять ее в случае, если она является таковой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.06.2005, 18:40:58
|
|||
|---|---|---|---|
|
|||
Преобразование значений таблицы Excel |
|||
|
#18+
Даже если нужно обрабатывать несколько выделенных несмежных диапазонов ячеек, то и в этом случае цикл не нужен, достаточно просто : Selection.SpecialCells(xlBlanks).Delete xlToLeft ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.06.2005, 09:39:21
|
|||
|---|---|---|---|
Преобразование значений таблицы Excel |
|||
|
#18+
pashulka.Даже если нужно обрабатывать несколько выделенных несмежных диапазонов ячеек, то и в этом случае цикл не нужен, достаточно просто : Selection.SpecialCells(xlBlanks).Delete xlToLeft типа - лень попробовать, прежде чем писать? и со мной так бывает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.06.2005, 09:58:35
|
|||
|---|---|---|---|
Преобразование значений таблицы Excel |
|||
|
#18+
Victosha pashulka.Даже если нужно обрабатывать несколько выделенных несмежных диапазонов ячеек, то и в этом случае цикл не нужен, достаточно просто : Selection.SpecialCells(xlBlanks).Delete xlToLeft типа - лень попробовать, прежде чем писать? и со мной так бывает... так и сейчас случилось. (со мной) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=61&mobile=1&tid=2185977]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 196ms |
| total: | 370ms |

| 0 / 0 |
