Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/47: Рейтинг темы: голосов - 47, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 13.08.2013
Сообщений: 6

Добавление данных из одной книги Excel в другую

13.08.2013, 18:25. Показов 9127. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Подскажите, пожалуйста, как переносить данные из нескольких книг excel (например, книга 1 http://gyazo.com/5bb822cfcae9f9b2c6fb4a18a4bbc9ca, книга 2 http://gyazo.com/52b73b5f14d586c2fb609a26d56f90f9 , находятся в одной папке), в каждой из которых по одному листу(1.1, 2.1), в сборную книгу (книга 3) с двумя листами (3.1, 3.2): на первый лист - из первой книги, на второй- из второй. При этом необходимо, чтобы данные именно добавлялись в лист, т.е. записывались в первые свободные строки листа при проходе сверху вниз сборной книги: http://gyazo.com/1906b1ca2e4f9cc7e02d0bb34e4b620b, http://gyazo.com/4b19e98907dfc9ee1fe5c6f737855f2b ?

Можно ли выводить диаграммы по данным из листов 3.1 и 3.2 на другом листе сборной книги (3.3)?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.08.2013, 18:25
Ответы с готовыми решениями:

Перенос данных из одной книги Excel в другую и обратно
Доброго времени суток, господа! Такой вопрос: Нужно из формы, которая представляет из себя анкету перекинуть данные в другую книгу, где...

Копирование данных из одной книги excel в другую с проверкой параметров
Добрый день, мои поиски решения не увенчались успехом, поэтому надеюсь на вашу помощь в написании макроса. Есть 3 книги - основная и две...

Копирование листов из одной книги excel в другую
Помогите пожалуйста разобраться с ошибкой. Нужно чтобы по кнопке старт лист "шаблон" из файла Обработка реестра копировался в...

7
 Аватар для KoGG
5641 / 1623 / 418
Регистрация: 23.12.2010
Сообщений: 2,433
Записей в блоге: 1
14.08.2013, 11:35
Макрос добавляет данные в конец листов активного файла из всех xls файлов заданной директории, соответствующих шаблону имени, начиная со строки, заданной константой FRow.
Если лист с нужным именем в сборочной книге отсутсвует, то он создается.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Sub Добавить_данные_из_xls_файлов()
    Const FRow& = 2                ' Номер строки начала сбора данных (ниже шапки)
    Const prefix$ = "Данные_"       ' Левая часть шаблона имени собираемых файлов, до номера
    Dim Shablon$
    Shablon = prefix & "*.xls*"   ' Шаблон имени собираемых файлов, где ?? позиция двузначного номера
    Dim i&, j&
    Dim FCol&, LCol&               ' Переменные номеров первого и последнего столбца для сбора данных
    Dim LRow&, LRow_Cel&
    Dim wb_Cel As Workbook, wb_Tek As Workbook
    Dim Sh_Cel As Worksheet, Sh_Tek As Worksheet
    Dim MyPath$, MyFileName$, MyFulName$, CurShName$
    Dim Uslovie1 As Boolean, dicShNames As Object
    Set wb_Cel = ActiveWorkbook
    Set dicShNames = CreateObject("Scripting.Dictionary")
    For i = 1 To Worksheets.Count
        dicShNames.Item(Worksheets(i).Name) = i
    Next i
    MyPath = "C:\temp4\"
'   ' MyPath = CurDir & "\"
'    ' Выбор папки
'    With Application.FileDialog(msoFileDialogFolderPicker)
'        .Title = "Укажите рабочую папку": .Show
'        If .SelectedItems.Count = 0 Then Exit Sub
'        MyPath = .SelectedItems(1) & "\"
'    End With
    MyFileName = Dir(MyPath & Shablon)
    Uslovie1 = False
    Do Until MyFileName = ""
        If MyFileName <> wb_Cel.Name Then
            MyFulName = MyPath & MyFileName
            Set wb_Tek = GetObject(MyFulName)
            i = InStr(1, MyFileName, ".xl")
            j = Len(prefix) + 1
            i = Val(Mid$(MyFileName, j, i - j + 1))
            CurShName = "3." & Format$(i)
            If dicShNames.Exists(CurShName) Then
                With wb_Cel.Worksheets(CurShName)
                    FCol = .UsedRange.Cells(1, 1).Column
                    LCol = .UsedRange.Columns.Count + FCol - 1
                    LRow_Cel = .UsedRange.Rows.Count + .UsedRange.Cells(1, 1).row
                End With
                With wb_Tek.Worksheets(1)
                    LRow = .UsedRange.Rows.Count + .UsedRange.Cells(1, 1).row - 1
                    If LRow >= FRow Then
                        .Range(.Cells(FRow, FCol), .Cells(LRow, LCol)).Copy wb_Cel.Worksheets(CurShName).Cells(LRow_Cel, 1)
                    End If
                End With
            Else
                dicShNames.Item(CurShName) = i
                With wb_Cel
                    wb_Tek.Worksheets(1).Copy After:=.Worksheets(.Worksheets.Count)
                    .Worksheets(.Worksheets.Count).Name = CurShName
                End With
            End If
            Workbooks(MyFileName).Close SaveChanges:=False
        End If
        MyFileName = Dir
    Loop
End Sub
Диаграмму легче добавить вручную, сделав ссылку на исходные данные с запасом строк, скрыв пустые запасные строки на листах 3.1 и 3.2.
1
0 / 0 / 0
Регистрация: 13.08.2013
Сообщений: 6
16.08.2013, 15:20  [ТС]
Спасибо большое!

Не могу разобраться, как строить диаграммы по наборам несвязных диапазонов (не которые выбирает пользователь, а которые заданы по умолчанию с определенным шагом). Основные функции работают со связными =( Т.е., например, мне нужна диаграмма: по оси х - даты(столбец А), по оси у - значения(столбец В), но нужно брать только каждую седьмую строчку. Для выбора пользователем подойдет такой вариант:

Visual Basic
1
2
3
4
5
6
7
8
Set objChart = Charts.Add
With objChart
    .SetSourceData objSelection
    .ChartType = xl3DColumn
    .Location xlLocationAsNewSheet
    .Legend.Delete
    .PlotBy = xlColumns
End With
При том, если диапазон несмежный, то добавляется:

Visual Basic
1
2
Set objSrcData = Union(objCategories, objSelection)
objChart.SetSourceData objSrcData
А вот как общаться с этими функциями с указанием несвязного диапазона по умолчанию =(
0
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 22
21.11.2014, 13:24
Помогите пожалуйста нужно свести в одну книгу из нескольких.
0
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 22
21.11.2014, 13:28
Помогите пожалуйста нужно свести в одну книгу из нескольких. вот файлы!
Вложения
Тип файла: rar 1123.rar (207.0 Кб, 36 просмотров)
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
21.11.2014, 15:15
Это можно автоматизировать. Как предполагаете идентифицировать файлы по районам - по названию файла, либо по какой-то ячейке внутри файла, либо завести в сводной книге (можно на скрытом листе) "справочник" сопоставления районов и месторасположения и названия файлов? Следует ли предусмотреть загрузку информации в свод, когда в наличии имеются не все 100% необходимых исходных файлов, а только какая-то их часть? Планируете ли вы, что строки итогов в файлам по районам могут быть не фиксированы по высоте и перемещаться вверх/вниз в зависимости от наличия информации?
1
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 22
21.11.2014, 15:27
Файлы без изменения скачиваются в одну папку с почты, без изменения имя файла для каждого района(предоставляются всеми в срок, в отчетный день). Количество собственников может меняться, но я с запасом наклепал строки. Есть ли смысл, и если не сложно?!
0
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 22
24.11.2014, 13:29
Задача актуальна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.11.2014, 13:29
Помогаю со студенческими работами здесь

Как скопировать лист Excel из одной книги в другую
Подскажите, пожалуйста, как скопировать целиком лист из одной книги в другую со всеми разделителями страниц, существующим форматом полей и...

Excel: Как перенести лист из одной рабочей книги в другую?
?

Програмная передача значения переменной из одной книги Excel в другую
Всем доброе время суток ! Есть такой вопрос: Как програмно передать (скопировать) значение переменной,...

Программная передача значения елементов массива из одной книги Excel в другую
Всем доброе время суток ! Значение елементов массива из одной книги Excel (Книга2) в другую (Книга1) можно передать с помощью объектов...

Перенос данных из одной книги в другую
Уважаемые форумчане, с Наступающим Новым годом!:) Помогите, пожалуйста, решить задачку. Есть таблица А, которую заполняет брокер, и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType и SDL3_ttf из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru