Нужна помощь, никак не справиться. Необходимо копировать новые номера заказов и суммы в файл учет 2 в столбцы 4 и 5, чтобы все по порядку шло. Условие, что в файле учет находит слово в столбце 4, находим все ячейки с этим словом, и нужно скопировать в книгу учет 2 ячейки находящиеся левее на две от найденых и на одну правее. но номера не должны повторяться. Никак не получается, цикл все проверяет и копирует все
[vba]
Код
Sub example2() Dim x As Range Dim wb0 As Workbook Dim wl0 As Worksheet Application.ScreenUpdating = False Set wb0 = ThisWorkbook Set wl0 = wb0.ActiveSheet wb0.Activate
Workbooks.Open Filename:="C:\Учет .xlsx"
For Each x In wl0.UsedRange.Cells If LCase(x.Value) Like "*окна*" Then
Нужна помощь, никак не справиться. Необходимо копировать новые номера заказов и суммы в файл учет 2 в столбцы 4 и 5, чтобы все по порядку шло. Условие, что в файле учет находит слово в столбце 4, находим все ячейки с этим словом, и нужно скопировать в книгу учет 2 ячейки находящиеся левее на две от найденых и на одну правее. но номера не должны повторяться. Никак не получается, цикл все проверяет и копирует все
[vba]
Код
Sub example2() Dim x As Range Dim wb0 As Workbook Dim wl0 As Worksheet Application.ScreenUpdating = False Set wb0 = ThisWorkbook Set wl0 = wb0.ActiveSheet wb0.Activate
Workbooks.Open Filename:="C:\Учет .xlsx"
For Each x In wl0.UsedRange.Cells If LCase(x.Value) Like "*окна*" Then
Что-то у Вас там сплошной косяк. nextы лишние, точек не хватает и т.д. Файл так и не открывал, но попробуйте: [vba]
Код
Sub example2() Dim x As Range Dim wb0 As Workbook Dim wl0 As Worksheet Application.ScreenUpdating = False Set wb0 = ThisWorkbook Set wl0 = wb0.ActiveSheet wb0.Activate With Workbooks.Open("C:\Учет .xlsx") For Each x In wl0.UsedRange.Cells If LCase(x.Value) Like "*окна*" Then rk = .Worksheets("Лист1").Cells(Rows.Count, 3).End(xlUp).Row If Not .Worksheets("Лист1").Columns(3).Find(x.Offset(, -2), , , 1) Is Nothing Then .Worksheets("Лист1").Cells(rk + 1, 3).Value = x.Offset(, -2) End If End If Next x '.Close True End With End Sub
[/vba]
Что-то у Вас там сплошной косяк. nextы лишние, точек не хватает и т.д. Файл так и не открывал, но попробуйте: [vba]
Код
Sub example2() Dim x As Range Dim wb0 As Workbook Dim wl0 As Worksheet Application.ScreenUpdating = False Set wb0 = ThisWorkbook Set wl0 = wb0.ActiveSheet wb0.Activate With Workbooks.Open("C:\Учет .xlsx") For Each x In wl0.UsedRange.Cells If LCase(x.Value) Like "*окна*" Then rk = .Worksheets("Лист1").Cells(Rows.Count, 3).End(xlUp).Row If Not .Worksheets("Лист1").Columns(3).Find(x.Offset(, -2), , , 1) Is Nothing Then .Worksheets("Лист1").Cells(rk + 1, 3).Value = x.Offset(, -2) End If End If Next x '.Close True End With End Sub