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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2018, 21:31   #1
skapitan
 
Регистрация: 18.03.2010
Сообщений: 8
Смущение копирование содержимого каждого листа в книги в одну таблицу

добрый день!

спасибо большое этому форуму.
что получилось сделать : получается копировать различные xls листы в одну книгу. что не получается:

с каждого листа нужно скопировать содержимое на лист Analysis:


- с листа 1 скопировать колонки A B C без пустых строк начиная со строки 1
- вставить на лист Analysis
- название листа 1 скопировать в колонку D для всех вставленных строк

- с листа 2 скопировать колонки A B C без пустых строк начиная со строки 2
- вставить на лист Analysis
- название листа 1 скопировать в колонку D для всех вставленных только что строк

- повторить то же самое что для листа 2 для всех остальных листов в книге

во вложении файл. помогите, пожалуйста
Вложения
Тип файла: xlsx MacroHelp_forum.xlsx (25.7 Кб, 12 просмотров)
skapitan вне форума Ответить с цитированием
Старый 16.12.2018, 07:49   #2
pme
Пользователь
 
Регистрация: 21.05.2012
Сообщений: 11
По умолчанию

Привет!
Ваши хотелки реализуемы.
Но в Вашем файле нет "лист 1", "лист 2".
Sheet1 пуст.
pme вне форума Ответить с цитированием
Старый 16.12.2018, 13:30   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub JoinSheetsData()
  Const shnm$ = "Analysis"
  Dim sht As Worksheet:  Worksheets("Analysis").Activate
  For Each sht In Worksheets
    If sht.Name <> "Analysis" Then
      sht.UsedRange.Copy Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
      Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).Resize(sht.UsedRange.Rows.Count, 1).Value = sht.Name
    End If
  Next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.12.2018, 18:39   #4
skapitan
 
Регистрация: 18.03.2010
Сообщений: 8
По умолчанию

спасибо огромное! можно пожалуйста дописать код, чтобы

1. первую строчку с данными копировал только с самого первого листа. со второго, третьего,..., листа n - копировал все кроме первой строчки.


2. c листа 1, 2,... n - ячейку B1 копировал в столбец E для каждой строки листа с которого взяты данные.
например,
шаг 1: копирование данных с листа 2 на лист анализ. копируем все содержимое с листа 2 (кроме первой строки) , далее для 4 строк скопированных с листа 2 ставим в столбец E на листе Analysis значение ячейки B1 Лист 2 для всех скопированных строк


большое спасибо за помощь!!!
skapitan вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование ячеек из книги excel в таблицу access katrina-n Microsoft Office Access 9 07.04.2011 12:32
Копирование ячеек из книги excel в таблицу access katrina-n Microsoft Office Excel 0 06.04.2011 09:21
Цикл для каждого листа. Richard123 Microsoft Office Excel 3 24.01.2011 16:11
Как в этом макросе указать , что-бы было название каждого листа и книги ,при сборе всех листов на один ? Александр 33 Microsoft Office Excel 9 06.01.2011 18:40
снятие пароля с книги/листа из другой книги? Bezdar Microsoft Office Excel 3 25.12.2008 11:59