Технический форум

Технический форум (http://www.tehnari.ru/)
-   Вопросы от новичков (http://www.tehnari.ru/f180/)
-   -   Подскажите с Excel 2007 (http://www.tehnari.ru/f180/t72216/)

Евгений_z1 22.04.2012 08:49

Подскажите с Excel 2007
 
при получении данных с сводной таблицы по (горизонтали ) переделать на вертикальный столбец.
n2 n3 n4 n5 n6 n7 n8 и тог далее ....
23 26 32 65 84 45 45
что получилось примерно так.

n2 23

n3 26

n4 32

n5 65

n6 84

n7 45

n8 45

Подскажите пожалуйста=,((((( :tehnari_ru_208:

Shmatt 22.04.2012 23:03

для решения такой задачи в Экселе создают макрос (программа на бейсике)
в меню Сервис/Макрос/Начать запись создай никчемный макрос например
выдели курсором несколько ячеек и останови запись макроса
затем в меню Сервис/Макрос/Макросы Изменить редактируешь макрос
вернее удаляешь, что там внутри и пишешь следующий текст

Sub Макрос1()

For a = 1 To 10 ' цикл перебирает столбики (1 - это номер столбца с первым значением а 10 - последним)
b = Cells(1, a) ' читаем (здесь 1 - это номер строки с первым значением)
c = Cells(2, a) ' читаем (здесь 2 - это номер строки с вторым значением)

Cells(4 + a, 1) = b ' пишем значения в другие ячейки
Cells(4 + a, 2) = c ' 4 - определяет куда поместим перве значение
Next a


End Sub


Устанавливаешь адреса ячеек с твоими данными и нажимаешь кнопку F5 (Выполнить) или меню Run
Програмка, она же макрос, скопирует данные как ты хотел.
Желаю успеха.

Евгений_z1 23.04.2012 12:21

Большое спасибо. О:tehnari_ru_038:чень выручил=)))

Евгений_z1 23.04.2012 12:31

можиш объяснить ради интереса, что обозначают b и с

Cells(4 + a, 1) = b
Cells(4 + a, 2) = c
я понял, что ты выше описал, но попробовал их поменять на другие чёт не очень вышло((((:tehnari_ru_138::tehnari_ru_138::tehnari_ ru_138:

Shmatt 23.04.2012 17:46

b и c - временные переменные
сначала в них записываем первую пару ячеек вот так:
b = Cells(1, a)
c = Cells(2, a)

затем из переменных пишем в новые ячейки:
Cells(4 + a, 1) = b
Cells(4 + a, 2) = c

можно конечно было писать минуя переменные сразу из старых ячеек в новые:
Cells(4 + a, 1) = Cells(1, a)
Cells(4 + a, 2) = Cells(2, a)
но я сразу чето не догадался :tehnari_ru_942:

Shmatt 23.04.2012 23:19

For a = 1 To 10 ' цикл перебирает столбики (1 - это номер столбца с первым значением а 10 - последним)
Cells(4 + a, 1) = Cells(1, a)
Cells(4 + a, 2) = Cells(2, a)
Next a

изменять можно адреса выделенные цветом,
переменные менять нельзя, их программа меняет

для понимания: ячейка обозначается Cells(1, 1)
где перед запятой номер строки, а после - номер столбца
в данном примере это ячейка в первой строке в первом столбце

Евгений_z1 24.04.2012 12:31

Капец при сохранении в Басике сохраняет в отдельном документе и ток в нем Активна
как сделать, чтоб Макрос был активен всегда в любой книге(((((:tehnari_ru_038:


Часовой пояс GMT +4, время: 07:13.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.