Код должен проходить через диапазон данных и искать определенные переменные в двух разных столбцах и вставлять данные на другом листе. Я не получаю правильных результатов (Christo and Paid).Loop stop too soon
Ниже приведен код.
Sub Cop()
Dim x As Integer
Dim y As Integer
Dim z As Integer
Dim a As Integer
Dim NumRows As Long
Sheets("Not_Paid").Select
If Range("B2") = 1 And Range("B4") = 1 Then
Sheets("Microinvest").Select
Range("A1").Select
' Set numrows = number of rows of data.
NumRows = Range(ActiveCell, ActiveCell.End(xlDown)).Rows.Count
' Establish "For" loop to loop "numrows" number of times.
For x = 1 To NumRows
y = x + 1
z = x + 7
a = x - 1
Sheets("Microinvest").Select
Range("A" & y).Select
If ActiveCell.Offset(a, 2) = "Christo" And ActiveCell.Offset(a, 4) = "Paid" Then
Range("A" & y, "F" & y).Select
Selection.Copy
Sheets("Not_Paid").Select
Range("A" & z).Select
ActiveSheet.Paste
End If
Next
End If
Sheets("Not_Paid").Select
End Sub
Вот пример данных я использую:
Я получаю значения Благоевград и NotPaid, который не должен быть подобран. Или, по крайней мере, это то, что было у меня под впечатлением.
Кроме того, переменная x пересекает 84 строки, а не 389, что является фактическим номером строки моего диапазона.
Pray сказать: как мы должны определить, если код выдает правильные результаты, не имея преимущество видеть данные, обрабатываемые? Если ваш код создает неожиданные результаты, вы прошли через него и проверили фактические значения ячеек, используемых в условном выражении? Дайте это. – teylyn
Не могли бы вы отредактировать вопрос, чтобы быть более конкретным? –
Не могли бы вы привести примеры правильного и неправильного кода? –