Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Редактирование ячеек из другого файла xls. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Редактирование ячеек из другого файла xls.
Snegovik Дата: Понедельник, 21.01.2019, 17:16 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго вечера.
Возник такой вопрос.

У меня есть два файла 1.xls и 2.xls (2.xls - закрыт).
В ячейку E11 файла 1.xls вписано слово по которому осуществляется поиск.
Я жму на кнопку "Поиск" и макрос выхватывает первую попавшуюся из заметок файла 2.xls *в котором есть поисковое слово) - и записывает в ячейку F11 содержание найденной записи, а в ячейку F10 - адрес ячейки откуда эта запись взята.

Если нажать на кнопку - "ПЕРЕПИСАТЬ", то в макроc - запишет измененный текст ячейки - обратно в 2.xls в ту самую ячейку, откуда эта запись была взята.
Как макросом реализовать подобную перезапись ячеек ?
К сообщению приложен файл: 4250753.xls (38.5 Kb) · 3259948.xls (27.5 Kb)
 
Ответить
СообщениеДоброго вечера.
Возник такой вопрос.

У меня есть два файла 1.xls и 2.xls (2.xls - закрыт).
В ячейку E11 файла 1.xls вписано слово по которому осуществляется поиск.
Я жму на кнопку "Поиск" и макрос выхватывает первую попавшуюся из заметок файла 2.xls *в котором есть поисковое слово) - и записывает в ячейку F11 содержание найденной записи, а в ячейку F10 - адрес ячейки откуда эта запись взята.

Если нажать на кнопку - "ПЕРЕПИСАТЬ", то в макроc - запишет измененный текст ячейки - обратно в 2.xls в ту самую ячейку, откуда эта запись была взята.
Как макросом реализовать подобную перезапись ячеек ?

Автор - Snegovik
Дата добавления - 21.01.2019 в 17:16
krosav4ig Дата: Понедельник, 21.01.2019, 18:47 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
Если оба файла в одной папке. В коде замените имя файла на свое
[vba]
Код
Sub find_()
    Dim r As Range
    With GetObject(ThisWorkbook.Path & "\3259948.xls")
        Set r = .Sheets("Лист3").Cells.Find([E11], , , xlPart, , , False, , False)
        [F10:F11].ClearContents
        If r Is Nothing Then
            Exit Sub
        Else
            [F10] = r.Address(, , , 1)
            [F11] = r.Value
        End If
        .Close False
    End With
End Sub
Sub rewrite()
    Dim r As Range
    With Application
        .ScreenUpdating = 0: .EnableEvents = 0: .DisplayAlerts = 0
        With GetObject(ThisWorkbook.Path & "\3259948.xls")
            Set r = .Sheets("Лист3").Cells.Find([E11], , , xlPart, , , False, , False)
            If r Is Nothing Then
                Exit Sub
            Else
                Range([F10]) = [F11]
            End If
            .Windows(1).Visible = True
            .Close True
        End With
        .ScreenUpdating = 1: .EnableEvents = 1: .DisplayAlerts = 1
    End With
End Sub
[/vba]
К сообщению приложен файл: 6688351.xls (47.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
Если оба файла в одной папке. В коде замените имя файла на свое
[vba]
Код
Sub find_()
    Dim r As Range
    With GetObject(ThisWorkbook.Path & "\3259948.xls")
        Set r = .Sheets("Лист3").Cells.Find([E11], , , xlPart, , , False, , False)
        [F10:F11].ClearContents
        If r Is Nothing Then
            Exit Sub
        Else
            [F10] = r.Address(, , , 1)
            [F11] = r.Value
        End If
        .Close False
    End With
End Sub
Sub rewrite()
    Dim r As Range
    With Application
        .ScreenUpdating = 0: .EnableEvents = 0: .DisplayAlerts = 0
        With GetObject(ThisWorkbook.Path & "\3259948.xls")
            Set r = .Sheets("Лист3").Cells.Find([E11], , , xlPart, , , False, , False)
            If r Is Nothing Then
                Exit Sub
            Else
                Range([F10]) = [F11]
            End If
            .Windows(1).Visible = True
            .Close True
        End With
        .ScreenUpdating = 1: .EnableEvents = 1: .DisplayAlerts = 1
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 21.01.2019 в 18:47
Snegovik Дата: Вторник, 22.01.2019, 00:55 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
krosav4ig, спасибо.
Заработало.
 
Ответить
Сообщениеkrosav4ig, спасибо.
Заработало.

Автор - Snegovik
Дата добавления - 22.01.2019 в 00:55
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!