Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2012, 13:12   #1
OgE®_M@G
Форумчанин
 
Аватар для OgE®_M@G
 
Регистрация: 28.06.2008
Сообщений: 124
По умолчанию Копирование и траспонирование с шагом

Здравствуйте УВАЖАЕМЫЕ форумчане. Есть два листа необходимо с первого листа скопировать данные по строчно и траспонировать их (делается это для сравнения с другой таблицей). Макрорекордером записал следующее:
Код:
Sub Макрос1()
'Pervaya stroka
    Sheets("Лист1").Select
    Range("A1:AH2").Select 'Начальный диапазон
    Selection.Copy
    Sheets("Лист2").Select
    Range("B1").Select 'Первая ячейка
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    Range("C1").Select 'Первая ячейка
    Application.CutCopyMode = False
    Selection.Cut Destination:=Range("A2") 'Начальный диапазон
    Range("A2").Select
    Selection.AutoFill Destination:=Range("A2:A34"), Type:=xlFillCopy 'Начальный диапазон
    Range("A2:A34").Select 'Начальный диапазон
    Range("A1").Select 'Первая ячейка
    Selection.EntireRow.Delete
'Vtoraya stroka
    Sheets("Лист1").Select
    Range("A3:AH3").Select ' Диапазон меняется циклично +1
    Selection.Copy
    Sheets("Лист2").Select
    Range("C34").Select ' Диапазон меняется циклично +33
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    Range("C34").Select ' Диапазон меняется циклично +33
    Application.CutCopyMode = False
    Selection.Cut Destination:=Range("A35") ' Диапазон меняется циклично +33
    Range("A35").Select
    Selection.AutoFill Destination:=Range("A35:A67"), Type:=xlFillCopy ' Диапазон меняется циклично +33
    Range("A35:A67").Select ' Диапазон меняется циклично +33
    Range("A34").Select ' Диапазон меняется циклично +33
    Selection.EntireRow.Delete
'Tretiya stroka
    Sheets("Лист1").Select
    Range("A4:AH4").Select ' Диапазон меняется циклично +1
    Selection.Copy
    Sheets("Лист2").Select
    Range("C67").Select ' Диапазон меняется циклично +33
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    Range("C67").Select ' Диапазон меняется циклично +33
    Application.CutCopyMode = False
    Selection.Cut Destination:=Range("A68") ' Диапазон меняется циклично +33
    Range("A68").Select ' Диапазон меняется циклично +33
    Selection.AutoFill Destination:=Range("A68:A100"), Type:=xlFillCopy ' Диапазон меняется циклично +33
    Range("A68:A100").Select ' Диапазон меняется циклично +33
    Range("A67").Select ' Диапазон меняется циклично +33
    Selection.EntireRow.Delete
End Sub
Строк очень много и поправлять код вручную тяжело. Можно ли органищовать цикл до последней заполненной строки. Прошу помочь в решении данного вопроса.
OgE®_M@G вне форума Ответить с цитированием
Старый 23.03.2012, 23:04   #2
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Лучше бы приложил файлы "что есть" и "как надо"
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 24.03.2012, 08:25   #3
OgE®_M@G
Форумчанин
 
Аватар для OgE®_M@G
 
Регистрация: 28.06.2008
Сообщений: 124
По умолчанию

Хорошо выложу соответствующие файлы. СПАСИБО.
OgE®_M@G вне форума Ответить с цитированием
Старый 26.03.2012, 09:34   #4
OgE®_M@G
Форумчанин
 
Аватар для OgE®_M@G
 
Регистрация: 28.06.2008
Сообщений: 124
По умолчанию

Вот файл:
1. Лист1 данные, которые есть
2. Лист2 так как нужно собрать (полностью все до последней строки. она меняется)
3. Лист3 просто тупо формулами забивал и копировал в макрос. Очень муторно.
Вложения
Тип файла: zip Test.zip (369.2 Кб, 16 просмотров)
OgE®_M@G вне форума Ответить с цитированием
Старый 26.03.2012, 10:49   #5
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Судя по данным, на Листе3 именно то, что вам нужно
Вложения
Тип файла: zip Test.zip (286.9 Кб, 10 просмотров)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 26.03.2012, 11:25   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

я тоже тупо написал три формулы на листе2. теперь их так же тупо можно просто копировать вниз по листу.
Вложения
Тип файла: rar КнигаR812.rar (208.6 Кб, 17 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.03.2012, 12:35   #7
OgE®_M@G
Форумчанин
 
Аватар для OgE®_M@G
 
Регистрация: 28.06.2008
Сообщений: 124
По умолчанию

Спасибо большое. То что нужно и без макроса.
OgE®_M@G вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Протянуть формулу с шагом sergantikus Microsoft Office Excel 3 23.03.2012 11:59
updown c не целым шагом MOMOTOCHEK Помощь студентам 4 16.03.2011 19:18
Формирование списка с определенным шагом 23i Microsoft Office Excel 3 07.06.2010 09:14
Копирование части диапазона с шагом valerij Microsoft Office Excel 5 08.12.2009 17:53