powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / простой вопрос...
4 сообщений из 4, страница 1 из 1
простой вопрос...
    #34462694
maccen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Суть, открывается файлик svodnaya.xls, запускается макрос который открывает файлик ira.xls и выдерает с него нужные данные, потом его закрывает, и должен уже открыть файлик olya.xls и так же выдрать с него данные, вот код, только он не эффективный это же 256 строчек как минимум только по 1 файлу, а их 10 будет, подскажите по проще решение если вас не затруднит!
есть код:
Public Sub Kyst0() FilePath = Workbooks("svodnaya.xls").Path + "\" Workbooks.Open (FilePath + "01/ira.xls")'Êóñò 1'01'1 Workbooks("svodnaya.xls").Worksheets("Лист1").Cells(5 5).Value = Workbooks("ira.xls").Worksheets("Лист1").Cells(2 3).Value Workbooks("ira.xls").Close (False)End SubPrivate Sub CommandButton1_Click() Call Kyst0 End Sub
Все работает, только нужно строчек до 256, можно продублировать текст вида
Workbooks("svodnaya.xls").Worksheets("Лист1").Cells(5, 5).Value = Workbooks("ira.xls").Worksheets("Лист1").Cells(2, 3).Value
....................
Workbooks("svodnaya.xls").Worksheets("Лист1").Cells(5, 256).Value = Workbooks("ira.xls").Worksheets("Лист1").Cells(2, 256).Value

как все это сделать циклом? зарание спасибо за ответ!
...
Рейтинг: 0 / 0
простой вопрос...
    #34462790
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если диапазон сплошной, то просто:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub test1()
Dim ShSource As Worksheet
Dim ShTarget As Worksheet
    
    Set ShSource = Workbooks("ira.xls").Worksheets("Лист1")
    Set ShTarget = Workbooks("svodnaya.xls").Worksheets("Лист1")
    
    ShTarget.Range(ShTarget.Cells( 5 ,  5 ), ShTarget.Cells( 5 ,  256 )).Value _
        = ShSource.Range(ShSource.Cells( 2 ,  3 ), ShSource.Cells( 2 ,  256 )).Value

    Set ShSource = Nothing
    Set ShTarget = Nothing

End Sub
или
Код: plaintext
1.
2.
3.
4.
5.
Sub test2()
    
    Workbooks("svodnaya.xls").Worksheets("Лист1").Range("E5:E256").Value _
        = Workbooks("ira.xls").Worksheets("Лист1").Range("B3:B254").Value

End Sub
...
Рейтинг: 0 / 0
простой вопрос...
    #34462792
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй не Cells, а Range

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public Sub Kyst0()
FilePath = ActiveWorkbook.Path + "\"
Workbooks.Open (FilePath + "ira.xls")
Workbooks("svodnaya.xls").Worksheets("Лист1").Range("A1:AC10").Value = Workbooks("ira.xls").Worksheets("Лист1").Range("A1:AC10").Value
Workbooks("ira.xls").Close (False)
End Sub
 
Private Sub CommandButton1_Click()
Call Kyst0
End Sub
...
Рейтинг: 0 / 0
простой вопрос...
    #34472319
maccen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за ответы, все так просто оказалось, какая экономия времени!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / простой вопрос...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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