Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выбор значения по наличию даты - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выбор значения по наличию даты (Формулы/Formulas)
Выбор значения по наличию даты
Maksimys07 Дата: Воскресенье, 17.12.2023, 22:10 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 44
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Доброго времени суток! Прошу помочь с решением проблемы выбора значения "Встреча" или "Событие" в имеющемся макросе, по наличию даты в столбце G для строчки 2 и последующих. В строках 3,4,5 показан пример как должно быть. Файл прилагаю.
К сообщению приложен файл: rio_assist.xlsb (20.9 Kb)
 
Ответить
СообщениеДоброго времени суток! Прошу помочь с решением проблемы выбора значения "Встреча" или "Событие" в имеющемся макросе, по наличию даты в столбце G для строчки 2 и последующих. В строках 3,4,5 показан пример как должно быть. Файл прилагаю.

Автор - Maksimys07
Дата добавления - 17.12.2023 в 22:10
MikeVol Дата: Понедельник, 18.12.2023, 07:46 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 315
Репутация: 61 ±
Замечаний: 0% ±

Excel LTSC 2021 EN
Maksimys07, Доброго времени суток. Не сосвсем понятно что делать если даты нету. Я сделал по своему, если даты нет в колонке G то вывожу
"Событие"

Как вариант: [vba]
Код
Option Explicit

Sub TurnOff()

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .EnableEvents = False
        .Calculation = xlManual
    End With

End Sub

Sub TurnOn()

    With Application
        .EnableEvents = True
        .Calculation = xlAutomatic
        .DisplayAlerts = True
        .ScreenUpdating = True
    End With

End Sub

Sub Maksimys07()
    Dim RowLast As Long, i As Long
    Call TurnOff

    With ThisWorkbook.Worksheets("Main")
        RowLast = .Cells(.Rows.Count, 7).End(xlUp).Row

        For i = 3 To RowLast

            If IsDate(.Cells(i, 7).Value) Then
                .Cells(i, 1).Value = "Встреча"
            Else
                .Cells(i, 1).Value = "Событие"
            End If

        Next i

    End With

    Call TurnOn
End Sub
[/vba]
Удачи.


Ученик.
 
Ответить
СообщениеMaksimys07, Доброго времени суток. Не сосвсем понятно что делать если даты нету. Я сделал по своему, если даты нет в колонке G то вывожу
"Событие"

Как вариант: [vba]
Код
Option Explicit

Sub TurnOff()

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .EnableEvents = False
        .Calculation = xlManual
    End With

End Sub

Sub TurnOn()

    With Application
        .EnableEvents = True
        .Calculation = xlAutomatic
        .DisplayAlerts = True
        .ScreenUpdating = True
    End With

End Sub

Sub Maksimys07()
    Dim RowLast As Long, i As Long
    Call TurnOff

    With ThisWorkbook.Worksheets("Main")
        RowLast = .Cells(.Rows.Count, 7).End(xlUp).Row

        For i = 3 To RowLast

            If IsDate(.Cells(i, 7).Value) Then
                .Cells(i, 1).Value = "Встреча"
            Else
                .Cells(i, 1).Value = "Событие"
            End If

        Next i

    End With

    Call TurnOn
End Sub
[/vba]
Удачи.

Автор - MikeVol
Дата добавления - 18.12.2023 в 07:46
Maksimys07 Дата: Понедельник, 18.12.2023, 20:21 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 44
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
MikeVol,
Цитата
Не совсем понятно что делать если даты нету
- должна быть пустая ячейка
Добавил макрос в файл, но в место "События" поставил "", автоматически не выбирает "Встречу".

Для наглядности добавил календарь в котором меняется месяц. При не попадании даты в столбце G (Дата начала) в столбце A(Событие) значения "Встреча" не должно ставится, а если даты недели попадают в столбец G, то значение "Встреча" должно автоматически появляться.
К сообщению приложен файл: rio_assist_dobavil_kalendar_dl.xlsb (23.4 Kb)
 
Ответить
СообщениеMikeVol,
Цитата
Не совсем понятно что делать если даты нету
- должна быть пустая ячейка
Добавил макрос в файл, но в место "События" поставил "", автоматически не выбирает "Встречу".

Для наглядности добавил календарь в котором меняется месяц. При не попадании даты в столбце G (Дата начала) в столбце A(Событие) значения "Встреча" не должно ставится, а если даты недели попадают в столбец G, то значение "Встреча" должно автоматически появляться.

Автор - Maksimys07
Дата добавления - 18.12.2023 в 20:21
Maksimys07 Дата: Вторник, 19.12.2023, 22:33 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 44
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Решил эту задачку таким образом
Код
=ЕСЛИ(ЕЧИСЛО(G14);"Встреча";"")
 
Ответить
СообщениеРешил эту задачку таким образом
Код
=ЕСЛИ(ЕЧИСЛО(G14);"Встреча";"")

Автор - Maksimys07
Дата добавления - 19.12.2023 в 22:33
MikeVol Дата: Среда, 20.12.2023, 03:19 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 315
Репутация: 61 ±
Замечаний: 0% ±

Excel LTSC 2021 EN
Maksimys07, Очень интересно но ничего не понял. Зачем вам в колонке A выпадающий список сделанный через проверку данных и причём тут календарь? А также
или "Событие"
???
Вообщем, одному вам известно что вам надо в конечном результате. Удачи.


Ученик.
 
Ответить
СообщениеMaksimys07, Очень интересно но ничего не понял. Зачем вам в колонке A выпадающий список сделанный через проверку данных и причём тут календарь? А также
или "Событие"
???
Вообщем, одному вам известно что вам надо в конечном результате. Удачи.

Автор - MikeVol
Дата добавления - 20.12.2023 в 03:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выбор значения по наличию даты (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!