Макрос должен по двум заданным значениям найти ячейку и скопировать
Но во втором цикле перебор не происходит
Sheets("Лист1").Select
Range("B1").Activate
For i = 1 To 100
If Range("B" & i) = Sheets("Лист2").Range("B2") Then
Sheets("Лист1").Select
For j = i To 40
If Range("J" & j) = "20.11.2006" Then
Range("J" & j).Copy
Sheets("CHERNOUS.KRD").Select
Range("a11").Activate
ActiveSheet.Paste
End If
Next j
End If
Next i
Vba: проблема с функцией
Модератор: Naeel Maqsudov
- Игорь Акопян
- Сообщения: 1419
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
а зачем копировать значение "20.11.2006" из ячейки и вставлять его в другую, если можно тупо присвоить это значение?
[syntax="vb"]
sub qwe()
If ActiveCell.Find(Sheets("Лист1").Range("B2") then _
Sheets("CHERNOUS.KRD").Range("a11").Value = "20.11.2006"
end sub
[/syntax]
[syntax="vb"]
sub qwe()
If ActiveCell.Find(Sheets("Лист1").Range("B2") then _
Sheets("CHERNOUS.KRD").Range("a11").Value = "20.11.2006"
end sub
[/syntax]
если во втором цикле в Range("J" & j) проверяется ячейка не с текстовым форматом, а с датой, определенно не срабатывает вот эта проверка:
If Range("J" & j) = "20.11.2006" Then
Попробуйте так:
If Range("J" & j).Value = DateValue("20/11/2006") Then
If Range("J" & j) = "20.11.2006" Then
Попробуйте так:
If Range("J" & j).Value = DateValue("20/11/2006") Then
Всякое решение плодит новые проблемы.
Должен, но не делает этого. Макрос "проверяет" есть ли в ячееках B1:B100 листа1 значение, равное значению ячейки B2 листа2, и если есть, то макрос "ищет" значение "20.11.2006" среди значений ячеек J1:J40 листа1, копирует значение "20.11.2006" на лист "CHERNOUS.KRD", а затем ошибочно продолжает поиск на листе "CHERNOUS.KRD". Наверное!" писал(а):Макрос должен по двум заданным значениям найти ячейку и скопировать