• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Подскажите с Excel 2007

Евгений_z1

Ученик
Регистрация
27 Авг 2010
Сообщения
7
Реакции
0
Баллы
0
Подскажите с 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:
 
для решения такой задачи в Экселе создают макрос (программа на бейсике)
в меню Сервис/Макрос/Начать запись создай никчемный макрос например
выдели курсором несколько ячеек и останови запись макроса
затем в меню Сервис/Макрос/Макросы Изменить редактируешь макрос
вернее удаляешь, что там внутри и пишешь следующий текст

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
Програмка, она же макрос, скопирует данные как ты хотел.
Желаю успеха.
 
Большое спасибо. О:tehnari_ru_038:чень выручил=)))
 
можиш объяснить ради интереса, что обозначают b и с

Cells(4 + a, 1) = b
Cells(4 + a, 2) = c
я понял, что ты выше описал, но попробовал их поменять на другие чёт не очень вышло((((:tehnari_ru_138::tehnari_ru_138::tehnari_ru_138:
 
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:
 
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)
где перед запятой номер строки, а после - номер столбца
в данном примере это ячейка в первой строке в первом столбце
 
Капец при сохранении в Басике сохраняет в отдельном документе и ток в нем Активна
как сделать, чтоб Макрос был активен всегда в любой книге(((((:tehnari_ru_038:
 
Назад
Сверху