Кто знает помогите, как мне сделать макрос так чтобы при изменении значения ячейки в одной книги менялось значение в другой. Например, у номера заказа 10622-04/16 поменялась стоимость, следовательно в другой книге у заказа номер 10622-04/16 тоже должна меняться стоимость. Пока кроме вот такого макроса ничего не пришло в голову, но он не та работает как хотелось бы, он заново вставляет заказ в книгу
[vba]
Код
Sub example2() Dim i As Integer Workbooks.Open("C:\Users\Отчет.xlsx")
For i = 1 To 20153 If ThisWorkbook.Worksheets("1").Cells(i, 2).Value = Workbooks("Отчет.xlsx").Worksheets("1").Cells(i, 2).Value Then If ThisWorkbook.Worksheets("1").Cells(i, 2).Offset(, 4) <> Workbooks("Отчет.xlsx").Worksheets("1").Cells(i, 2).Offset(, 1) Then
ThisWorkbook.Worksheets("1").Cells(i, 2).Offset(, 4) = Workbooks("Отчет.xlsx").Worksheets("1").Cells(i, 2).Offset(, 1) End If End If Next
End Sub
[/vba]
Кто знает помогите, как мне сделать макрос так чтобы при изменении значения ячейки в одной книги менялось значение в другой. Например, у номера заказа 10622-04/16 поменялась стоимость, следовательно в другой книге у заказа номер 10622-04/16 тоже должна меняться стоимость. Пока кроме вот такого макроса ничего не пришло в голову, но он не та работает как хотелось бы, он заново вставляет заказ в книгу
[vba]
Код
Sub example2() Dim i As Integer Workbooks.Open("C:\Users\Отчет.xlsx")
For i = 1 To 20153 If ThisWorkbook.Worksheets("1").Cells(i, 2).Value = Workbooks("Отчет.xlsx").Worksheets("1").Cells(i, 2).Value Then If ThisWorkbook.Worksheets("1").Cells(i, 2).Offset(, 4) <> Workbooks("Отчет.xlsx").Worksheets("1").Cells(i, 2).Offset(, 1) Then
ThisWorkbook.Worksheets("1").Cells(i, 2).Offset(, 4) = Workbooks("Отчет.xlsx").Worksheets("1").Cells(i, 2).Offset(, 1) End If End If Next
Добрый день. Мое предложение вносить изменения по кнопке, с указанием пользователя конкретного договора (правда в макросе надо сделать "защиту от дурака" и обработчик ошибок)
[vba]
Код
Sub Прямоугольник1_Щелчок() Dim rf As Range Dim rFr As Range Dim sn As String Dim isum As Currency Dim irow As Integer
On Error GoTo ex Set rf = Application.InputBox("Выберите номер заказа по которому проводим изменения", "выбор данных", "", Type:=8) sn = rf.Value isum = rf.Offset(0, 4).Value 'Workbooks.Open("D:\Мои документы\Downloads\8907134.xlsx").Sheets(1).Activate Workbooks.Open("C:\Users\Отчет.xlsx").Sheets(1).Activate irow = Cells(Rows.Count, 2).End(xlUp).Row Set rFr = Range(Cells(1, 2), Cells(irow, 2)).Find(what:=sn) rFr.Offset(0, 1).Value = isum
ex: Exit Sub End Sub
[/vba]
Добрый день. Мое предложение вносить изменения по кнопке, с указанием пользователя конкретного договора (правда в макросе надо сделать "защиту от дурака" и обработчик ошибок)
[vba]
Код
Sub Прямоугольник1_Щелчок() Dim rf As Range Dim rFr As Range Dim sn As String Dim isum As Currency Dim irow As Integer
On Error GoTo ex Set rf = Application.InputBox("Выберите номер заказа по которому проводим изменения", "выбор данных", "", Type:=8) sn = rf.Value isum = rf.Offset(0, 4).Value 'Workbooks.Open("D:\Мои документы\Downloads\8907134.xlsx").Sheets(1).Activate Workbooks.Open("C:\Users\Отчет.xlsx").Sheets(1).Activate irow = Cells(Rows.Count, 2).End(xlUp).Row Set rFr = Range(Cells(1, 2), Cells(irow, 2)).Find(what:=sn) rFr.Offset(0, 1).Value = isum