привет, вы можете помочь мне решить мою проблему? моя проблема в том, что я хочу скопировать некоторые данные из другого листа с некоторым условием, я использую вложенный элемент для выполнения цикла, если условие выполнено.
но проблема в том, что значение, которое я хочу скопировать, не копируется в целевую ячейку, оно пустое.
но остальная часть кода работает, и данные успешно скопированы.
ты знаешь как это решить? я пропустил какой-то синтаксис? Большое спасибо!
lCopyLastRow = wsCopy.Cells(wsCopy.Rows.Count, "B").End(xlUp).Row
'b value is more than 30.000 data
b = wsDestI.Cells(wsDestI.Rows.Count, "G").End(xlUp).Row
For i = 1 To lCopyLastRow
If IsEmpty(wsCopy.Range("E" & 9 + i).Value) = True Then
'this nested for is not working, it wont copy the data
For s = 4 To b
If (wsCopy.Range("B" & 9 + i).Value = wsDestI.Range("G" & s).Value) Then
wsDestI.Range("C" & s).copy wsDest.Range("M" & Rows.Count).End(xlUp).Offset(1, 0)
wsDestI.Range("G" & s).copy wsDest.Range("S" & Rows.Count).End(xlUp).Offset(1, 0)
wsDestI.Range("M" & s).copy wsDest.Range("P" & Rows.Count).End(xlUp).Offset(1, 0)
End If
Next s
ElseIf IsEmpty(wsCopy.Range("B" & 9 + i).Value) = True Then
wsCopy.Range("E" & i + 9).copy wsDest.Range("M" & Rows.Count).End(xlUp).Offset(1, 0)
wsCopy.Range("K" & 9 + i).copy wsDest.Range("P" & Rows.Count).End(xlUp).Offset(1, 0)
wsDest.Range("S" & Rows.Count).End(xlUp).Offset(1, 0) = "0"
Else:
wsCopy.Activate
wsDest.Activate
wsCopy.Range("E" & 9 + i).copy wsDest.Range("M" & Rows.Count).End(xlUp).Offset(1, 0)
wsCopy.Range("B" & 9 + i).copy wsDest.Range("S" & Rows.Count).End(xlUp).Offset(1, 0)
wsCopy.Range("K" & 9 + i).copy wsDest.Range("P" & Rows.Count).End(xlUp).Offset(1, 0)
End If
Next i