Помогите пожалуйста. Свои ошибки вижу, но связи со скудоумием, ничего переделать не могу.
В этом куске. Вторая строчка - Взят для расчёта весь диапазон
(Cells(3, 13), Cells(RS, 13)). И всё пересчитывается после каждого клика, по новой.
Как только я ввожу ещё одно условие -
'And i.Offset(0, 1).Value = "". Всё перестаёт работать.
Вторая ошибка- Поиск проводится только по ячейке С2. Не нравится мне X = Range("AS2:AS63").Find(Range(Cells(1 + s, 3)).Value).Row
Так наверное не пишется Find(Range(Cells(. Если Find(Range( " ")- то работает.
И третья. - Если Y = Range("AV1:CO1").Find(Range("I2").Value).Column. - такого столбца не существует ,то как отключить ошибку?
Спасибо.
В этом куске. Вторая строчка - Взят для расчёта весь диапазон
(Cells(3, 13), Cells(RS, 13)). И всё пересчитывается после каждого клика, по новой.
Как только я ввожу ещё одно условие -
'And i.Offset(0, 1).Value = "". Всё перестаёт работать.
Вторая ошибка- Поиск проводится только по ячейке С2. Не нравится мне X = Range("AS2:AS63").Find(Range(Cells(1 + s, 3)).Value).Row
Так наверное не пишется Find(Range(Cells(. Если Find(Range( " ")- то работает.
И третья. - Если Y = Range("AV1:CO1").Find(Range("I2").Value).Column. - такого столбца не существует ,то как отключить ошибку?
Спасибо.
Код |
---|
RS = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1 For Each i In Range(Cells(3, 13), Cells(RS, 13)) If i.Value <> "" Then k = k + 1 'And i.Offset(0, 1).Value = "" A = Cells(2, 10).Value Cells(k + 2, 14).Value = Cells(k + 2, 13).Value * A Next i MsgBox "Не пустых ячеек " & k Select Case Worksheets(4).Range("B2").Value Case Is = "ТП" 'For s = 0 To 15 'If Worksheets(4).Cells(2 + s, 3).Value <> "" Then s = s + 1 ' X = Range("AS2:AS63").Find(Range(Cells(1 + s, 3)).Value).Row 'IsError(ПоискРабот1) Then X = Range("AS2:AS63").Find(Range("C2").Value).Row Y = Range("AV1:CO1").Find(Range("I2").Value).Column Range(Cells(X, Y + 1), Cells(X, Y + 4)).Copy RS1 = Cells(Rows.Count, 14).End(xlUp).Row + 1 Cells(RS1, 10).PasteSpecial Paste:=xlPasteValues Cells(RS1, 14).Value = A * Cells(RS1, 13).Value 'Next s End Select ' MsgBox (Range(Cells(RS1, 14)).Value) End Sub |