Суть вопроса следующая: Есть файл 2019 и Rez в них необходимо сравнить и в случае попадания в диапазон суммировать И так файл 2019 столбец 1 должна совпадать в файле Rez со столбцом 8, файл 2019 столбец 3 должна совпадать в файле Rez со столбцом 9, файл 2019 столбец 4 должна совпадать в файле Rez со столбцом 2. А дальше сложнее (лично для меня) Столбец 6 (это нач. КМ) в файле 2019 Столбец 7 (это нач. М) в файле 2019 Столбец 8 (это конеч. КМ) в файле 2019 Столбец 9 (это конеч. М) в файле 2019 В случае если в диапазон столбцов (6,7,8,9) в файле 2019 попадают столбцы 10 и 11 файла Rez необходимо сделать следующее в столбец 13 файла 2019 суммировать из Rez столбец 17 если столбец 13 из файла Rez равен 2, в столбец 14 файла 2019 суммировать из Rez столбец 17 если столбец 13 из файла Rez равен 3, в столбец 15 файла 2019 суммировать из Rez столбец 17 если столбец 13 из файла Rez равен 4. В файле 2019 я попробовал набросать макрос но к сожалению моих знаний не хватило. Заранее все откликнувшимся спасибо!!!
Суть вопроса следующая: Есть файл 2019 и Rez в них необходимо сравнить и в случае попадания в диапазон суммировать И так файл 2019 столбец 1 должна совпадать в файле Rez со столбцом 8, файл 2019 столбец 3 должна совпадать в файле Rez со столбцом 9, файл 2019 столбец 4 должна совпадать в файле Rez со столбцом 2. А дальше сложнее (лично для меня) Столбец 6 (это нач. КМ) в файле 2019 Столбец 7 (это нач. М) в файле 2019 Столбец 8 (это конеч. КМ) в файле 2019 Столбец 9 (это конеч. М) в файле 2019 В случае если в диапазон столбцов (6,7,8,9) в файле 2019 попадают столбцы 10 и 11 файла Rez необходимо сделать следующее в столбец 13 файла 2019 суммировать из Rez столбец 17 если столбец 13 из файла Rez равен 2, в столбец 14 файла 2019 суммировать из Rez столбец 17 если столбец 13 из файла Rez равен 3, в столбец 15 файла 2019 суммировать из Rez столбец 17 если столбец 13 из файла Rez равен 4. В файле 2019 я попробовал набросать макрос но к сожалению моих знаний не хватило. Заранее все откликнувшимся спасибо!!!Alex31
Большое спасибо все работает. Но все же если это пару тысяч строк быстро работает, а как у меня бывает доходит 70000 строк очень долго. Может все таки кто поможет с макросом я написал сам часть но все таки что то не работает.
[vba]
Код
Sub summ()
' Объявление переменных Dim I As Integer Dim f As Integer Dim k As Long Dim j As Long f = 0: k = 0 ' подсчет кол-ва строк в Rez While f = 0 k = k + 1 If IsEmpty(Workbooks("Rez.xlsx").Sheets("R").Cells(k, 1)) Then f = 1 Wend For I = 7 To 753 Step 1 For j = 2 To (k - 1) Step 1 ' подсчет кол-ва 3 If Cells(I, 1) = Workbooks("Rez.xlsx").Sheets("R").Cells(j, 8) And _ Cells(I, 3) = Workbooks("Rez.xlsx").Sheets("R").Cells(j, 9) And _ Cells(I, 4) = Workbooks("Rez.xlsx").Sheets("R").Cells(j, 2) And _ Cells(I, 6) = Workbooks("Rez.xlsx").Sheets("R").Cells(j, 10) And _ Workbooks("Rez.xlsx").Sheets("R").Cells(j, 13) = 3 Then Cells(I, 14) = Cells(I, 14) + Workbooks("Rez.xlsx").Sheets("R").Cells(j, 13)
Next j ' счетчик Cells(2, 1) = I & "/753" Next I MsgBox "Ура!", vbInformation + vbOKOnly, "Ура!!!" End Sub
[/vba]
Большое спасибо все работает. Но все же если это пару тысяч строк быстро работает, а как у меня бывает доходит 70000 строк очень долго. Может все таки кто поможет с макросом я написал сам часть но все таки что то не работает.
[vba]
Код
Sub summ()
' Объявление переменных Dim I As Integer Dim f As Integer Dim k As Long Dim j As Long f = 0: k = 0 ' подсчет кол-ва строк в Rez While f = 0 k = k + 1 If IsEmpty(Workbooks("Rez.xlsx").Sheets("R").Cells(k, 1)) Then f = 1 Wend For I = 7 To 753 Step 1 For j = 2 To (k - 1) Step 1 ' подсчет кол-ва 3 If Cells(I, 1) = Workbooks("Rez.xlsx").Sheets("R").Cells(j, 8) And _ Cells(I, 3) = Workbooks("Rez.xlsx").Sheets("R").Cells(j, 9) And _ Cells(I, 4) = Workbooks("Rez.xlsx").Sheets("R").Cells(j, 2) And _ Cells(I, 6) = Workbooks("Rez.xlsx").Sheets("R").Cells(j, 10) And _ Workbooks("Rez.xlsx").Sheets("R").Cells(j, 13) = 3 Then Cells(I, 14) = Cells(I, 14) + Workbooks("Rez.xlsx").Sheets("R").Cells(j, 13)
Next j ' счетчик Cells(2, 1) = I & "/753" Next I MsgBox "Ура!", vbInformation + vbOKOnly, "Ура!!!" End Sub