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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос перевода числового диапазона в название месяца - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос перевода числового диапазона в название месяца (Макросы/Sub)
Макрос перевода числового диапазона в название месяца
footballplayer Дата: Воскресенье, 26.02.2017, 11:21 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

2013
Добрый день!

В поиске не нашел подходящей темы, но, возможно, просто не сумел в поисковом запросе изложить правильно то, что необходимо)
Подскажите, пожалуйста, как можно отнести содержимое ячейки к определенному месяцу?

К примеру, в ячейке "C15" есть содержимое - 10.01.2016. Мне необходимо при работе макроса отнести все значения от 01.01.2016 до 31.01.2016 в категорию "январь".
И, соответственно, так же и с другими месяцами. Т.е. с 01.02.2016 до 28.02.2016 - февраль и т.д.
По своим знаниям в VBA попытался написать скрипт при помощи Select Case:

[vba]
Код
Sub test2()

a = ThisWorkbook.Worksheets("Лист1").Range("C15").Value

Select Case a
    Case "01.01.2016" To "31.02.2017"
    
ThisWorkbook.Worksheets("Лист").Range("C14").Value = "январь"

End Select

End Sub
[/vba]

Но это не работает) Примерно понимаю, что значение [vba]
Код
Case "01.01.2016" To "31.02.2017"
[/vba] VBA понимает, как просто текст, а не
диапазон от 01.01.2016 до 31.01.2016.

Подскажите, пожалуйста, можно ли как-либо доработать код, чтобы он понимал необходимость, либо необходимо воспользоваться другими инструментами VBA?

Спасибо!

UPD.: название темы изменил. Сказать честно, сам до конца не знаю, как правильно сформулировать задачу)


Сообщение отредактировал footballplayer - Воскресенье, 26.02.2017, 11:47
 
Ответить
СообщениеДобрый день!

В поиске не нашел подходящей темы, но, возможно, просто не сумел в поисковом запросе изложить правильно то, что необходимо)
Подскажите, пожалуйста, как можно отнести содержимое ячейки к определенному месяцу?

К примеру, в ячейке "C15" есть содержимое - 10.01.2016. Мне необходимо при работе макроса отнести все значения от 01.01.2016 до 31.01.2016 в категорию "январь".
И, соответственно, так же и с другими месяцами. Т.е. с 01.02.2016 до 28.02.2016 - февраль и т.д.
По своим знаниям в VBA попытался написать скрипт при помощи Select Case:

[vba]
Код
Sub test2()

a = ThisWorkbook.Worksheets("Лист1").Range("C15").Value

Select Case a
    Case "01.01.2016" To "31.02.2017"
    
ThisWorkbook.Worksheets("Лист").Range("C14").Value = "январь"

End Select

End Sub
[/vba]

Но это не работает) Примерно понимаю, что значение [vba]
Код
Case "01.01.2016" To "31.02.2017"
[/vba] VBA понимает, как просто текст, а не
диапазон от 01.01.2016 до 31.01.2016.

Подскажите, пожалуйста, можно ли как-либо доработать код, чтобы он понимал необходимость, либо необходимо воспользоваться другими инструментами VBA?

Спасибо!

UPD.: название темы изменил. Сказать честно, сам до конца не знаю, как правильно сформулировать задачу)

Автор - footballplayer
Дата добавления - 26.02.2017 в 11:21
Pelena Дата: Воскресенье, 26.02.2017, 11:24 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19179
Репутация: 4419 ±
Замечаний: ±

Excel 365 & Mac Excel
footballplayer, дайте теме более конкретное название в соответствии с Правилами форума


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеfootballplayer, дайте теме более конкретное название в соответствии с Правилами форума

Автор - Pelena
Дата добавления - 26.02.2017 в 11:24
Pelena Дата: Воскресенье, 26.02.2017, 11:58 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19179
Репутация: 4419 ±
Замечаний: ±

Excel 365 & Mac Excel
А так не подойдёт?
[vba]
Код
Sub test2()
    a = ThisWorkbook.Worksheets("Лист1").Range("C15").Value
    ThisWorkbook.Worksheets("Лист1").Range("C14").Value = Format(a, "MMMM")
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеА так не подойдёт?
[vba]
Код
Sub test2()
    a = ThisWorkbook.Worksheets("Лист1").Range("C15").Value
    ThisWorkbook.Worksheets("Лист1").Range("C14").Value = Format(a, "MMMM")
End Sub
[/vba]

Автор - Pelena
Дата добавления - 26.02.2017 в 11:58
footballplayer Дата: Воскресенье, 26.02.2017, 12:15 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

2013
А так не подойдёт?


Да, именно то, что нужно!

Немного доработал код под себя - теперь выводится и месяц и год:

[vba]
Код
Sub test2()
    a = ThisWorkbook.Worksheets("Лист1").Range("C15").Value
    ThisWorkbook.Worksheets("Лист1").Range("C14").Value = Format(a, "MMMMYYYY")
End Sub
[/vba]

Огромное спасибо!
 
Ответить
Сообщение
А так не подойдёт?


Да, именно то, что нужно!

Немного доработал код под себя - теперь выводится и месяц и год:

[vba]
Код
Sub test2()
    a = ThisWorkbook.Worksheets("Лист1").Range("C15").Value
    ThisWorkbook.Worksheets("Лист1").Range("C14").Value = Format(a, "MMMMYYYY")
End Sub
[/vba]

Огромное спасибо!

Автор - footballplayer
Дата добавления - 26.02.2017 в 12:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос перевода числового диапазона в название месяца (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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