У меня есть два файла 1.xls и 2.xls (2.xls - закрыт). В ячейку E11 файла 1.xls вписано слово по которому осуществляется поиск. Я жму на кнопку "Поиск" и макрос выхватывает первую попавшуюся из заметок файла 2.xls *в котором есть поисковое слово) - и записывает в ячейку F11 содержание найденной записи, а в ячейку F10 - адрес ячейки откуда эта запись взята.
Если нажать на кнопку - "ПЕРЕПИСАТЬ", то в макроc - запишет измененный текст ячейки - обратно в 2.xls в ту самую ячейку, откуда эта запись была взята. Как макросом реализовать подобную перезапись ячеек ?
Доброго вечера. Возник такой вопрос.
У меня есть два файла 1.xls и 2.xls (2.xls - закрыт). В ячейку E11 файла 1.xls вписано слово по которому осуществляется поиск. Я жму на кнопку "Поиск" и макрос выхватывает первую попавшуюся из заметок файла 2.xls *в котором есть поисковое слово) - и записывает в ячейку F11 содержание найденной записи, а в ячейку F10 - адрес ячейки откуда эта запись взята.
Если нажать на кнопку - "ПЕРЕПИСАТЬ", то в макроc - запишет измененный текст ячейки - обратно в 2.xls в ту самую ячейку, откуда эта запись была взята. Как макросом реализовать подобную перезапись ячеек ?Snegovik
Здравствуйте Если оба файла в одной папке. В коде замените имя файла на свое [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]
Здравствуйте Если оба файла в одной папке. В коде замените имя файла на свое [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