powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / данные из разных таблиц в одну
5 сообщений из 5, страница 1 из 1
данные из разных таблиц в одну
    #38053716
ola_ya_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
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.
Sub macros()
    Dim arr(), i As Long, lr As Long, fed As String
    Dim wb As Object, sh As Object, kult$
    On Error Resume Next
  
    Set wb = ActiveWorkbook
    With Workbooks.Add(xlWBATWorksheet).Sheets(1)
        [a1:i1].Value = Split("федеральный округ,Область,название культуры,Сельскохозяйственные организации,из них: малые предприятия,хозяйства " + _
"населения,крестьянские (фермерские) хозяйства и индивидуальные предприниматели,хозяйста всех категорий 2008,хозяйста всех категорий 2007", ",")

        For Each sh In wb.Sheets
            kult = sh.[a1] & " " & sh.[a2]
            arr = sh.UsedRange.Value
            For i = 6 To UBound(arr)

                If InStr(UCase(arr(i, 1)), UCase("федер")) = 0 Then
                    lr = .Cells(.Rows.Count, 2).End(xlUp).Row
                    .Cells(lr + 1, 2) = arr(i, 1)
                    .Cells(lr + 1, 3) = kult
                    .Cells(lr + 1, 4) = arr(i, 2)
                    .Cells(lr + 1, 5) = arr(i, 3)
                    .Cells(lr + 1, 6) = arr(i, 4)
                    .Cells(lr + 1, 7) = arr(i, 5)
                    .Cells(lr + 1, 8) = arr(i, 6)
                    .Cells(lr + 1, 9) = arr(i, 7)
                    .Cells(lr + 1, 1) = fed
                Else
                    fed = arr(i, 1)
                End If

            Next
        Next
        .UsedRange.EntireColumn.AutoFit
    End With
 On Error GoTo 0
End Sub



Модератор: Учимся использовать тэги оформления кода - FAQ

этот макрос переписывает данные из книги в один лист с определенными преобразованиями.
как его изменить так, чтобы он мог из определенной папки брать нужные таблицы-название таблиц должны прописываться в макросе и записывать данные с вышеописанными преобразованиями в один лист 1 книгу?
заранее спасибо.
...
Рейтинг: 0 / 0
данные из разных таблиц в одну
    #38054407
ola_ya_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужный макрос находится в Книга1_!!!!!!!
нужно запустить его для файла tab460.

Код: vbnet
1.
2.
3.
Workbooks.Open Filename:= _
"O:\tab460.xlsm"
Application.Run "Книга1_!!!!!!!.xlsm!Module2.macros"



подскажите, пожалуйста, в чем ошибка?
...
Рейтинг: 0 / 0
данные из разных таблиц в одну
    #38054603
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ola_ya_22,

Может проще переписать Set wb = ActiveWorkbook, где ссылку на wb получать через Workbooks.Open и открыть в файл, в данном случае tab460.
...
Рейтинг: 0 / 0
данные из разных таблиц в одну
    #38054838
ola_ya_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VSVLAD,

Workbooks.Open Filename:= _
"D:\tab461.xls"
Application.Run "Книга123.xlsm!Module2.macros"
ThisWorkbook.SaveAs ("O:\461.xls")
Workbooks("tab461.xls").Close

сохраняется открытая книга с макросом.
а нужно, чтобы сохранялась книга, которая получается после вызова Module2.macros и имеет название Лист1
...
Рейтинг: 0 / 0
данные из разных таблиц в одну
    #38054896
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ola_ya_22,

Я говорю про это Set wb = Workbooks.Open( Filename:= "D:\tab461.xls" ), и не надо никаких Application.Run
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / данные из разных таблиц в одну
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]