powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Копирование
5 сообщений из 5, страница 1 из 1
Копирование
    #38090823
Maxim12345678
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub davai_dosvidanya()
Dim x As String
Dim file As String
Dim a As Workbook
Dim b As Workbook
Set b = Workbooks.Open.Activate
Set a = ThisWorkbook

x = "C:\Files\"
file = Dir(x) 
Do While file <> ""      
Workbooks.Open Filename:=x & file    
a.Sheets(1).Cells(1, 2) = b.Sheets(2, 3)
     Workbooks(file).Close savechanges:=False 
         file = Dir
Loop
End Sub



Всем привет. В папке Files лежит много файлов, 500, к примеру. Задача состоит в том, чтобы поочередно открыть каждый из файлов, скопировать с листов нужные ячейки и вставить в строку файла "a". То есть должна получиться таблица с 500 строками. Я так понимаю, что это можно реализовать через цикл... но самая главная проблема, что я не умею работать с открывающимися файлами... то, что написано выше, не работает. Подскажите, плиз, где я туплю. Спасибо
...
Рейтинг: 0 / 0
Копирование
    #38090831
Maxim12345678
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поправка
Код: vbnet
1.
a.Sheets(1).Cells(1, 2) = b.Sheets(2).Cells(2, 3)
...
Рейтинг: 0 / 0
Копирование
    #38090832
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Копирование
    #38090836
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
м-да...
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub davai_dosvidanya()
Dim x As String
Dim file As String
Dim a As Workbook
Dim b As Workbook
Dim i As Integer
'Set b = Workbooks.Open.Activate
Set a = ThisWorkbook

x = "C:\Files\"
file = Dir(x) 
Do While file <> ""      
i=i+1
Set b=Workbooks.Open(Filename:=x & file)
a.Sheets(1).Cells(i, 2) = b.Sheets.Cells(2, 3)
     b.Close savechanges:=False 
         file = Dir
Loop
End Sub

как-то так, не проверял
...
Рейтинг: 0 / 0
Копирование
    #38090855
Maxim12345678
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, заработало.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Копирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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