Страницы: 1
RSS
VBA не видит если дата расчитана формулой
 
Добрый день всем. Помогите понять почему когда дата стоит вручную, то ВБА определяет ячейку методом Рендж, а если дата с помощью формулы расчитана, то селект не срабатывает.  
 
Это Find не видит.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Измените вашу процедуру на такой вариант и будет Вам счастье
Код
Sub ZapolnitDanie2()
Dim X As String, X1 As Date, X2 As Range, X3 As Integer, X4 As Integer
Dim rngBase As Range, rngIcells As String
'_______________________________ на какую дату делаем заполнение ___________________________________________
X1 = Range("S6").Text 'берем дату для определения заполняемой колонки
Set X2 = Range("A4:G4")
For Each vl In X2.Cells
  If vl.Text = X1 Then vl.Select: Exit For 'выделяем и выходим из цикла
Next
End Sub
 
Цитата
JayBhagavan написал:
Это Find не видит.
В окне Locals как раз видно что Find находит дату, а вот дальше ячейка не выделяется. Почему?
 
Цитата
TSN написал: For Each vl In X2.Cells  If vl.Text = X1 Then vl.Select: Exit For 'выделяем и выходим из циклаNext
Да через Цикл работает. Все-таки Find виноват???
 
Виноват не find. Вы ищете средствами excel (find). У вас в ячейке стоит формула, как таковой искомой даты нет там. Попробуйте через поиск в самом excel найти Вашу дату - не получается.
Код
Sub ZapolnitDanie2a()
    Dim rngBase As Range
    For Each rngBase In Range("A4:G4")
        If rngBase.Value = Range("s6").Value Then
            rngBase.Select
            Exit Sub
        End If
    Next rngBase
End Sub
 
Цитата
Виталий Криворучко написал: В окне Locals как раз видно что Find находит дату
Неужели?
Согласие есть продукт при полном непротивлении сторон
Страницы: 1
Наверх