В выбранном вами случае рассматриваются имена рабочих листов, а не переменные, назначенные объектам рабочего листа.
Sub dateins()
' Date as Mo and year. Current month minus one.
Dim dash As Worksheet, daily As Worksheet, mon As Worksheet
Dim Thisday As Date, Rptmon As Date, ws As Worksheet
Set dash = Sheets("Dashboard")
Set daily = Sheets("Daily")
Set mon = Sheets("Monthly")
Thisday = Date
Rptmon = DateAdd("m", -1, Thisday)
For Each ws In ThisWorkbook.Sheets
Select Case ws.Name
Case "Dashboard", "Daily", "Monthly"
If ws.Range("A2") = "" Then
ws.Range("A2") = Rptmon
ws.Range("A2").numberformat = "mmmm yyyy"
End If
End Select
Next ws
End Sub
Вы хотите назначить истинную дату для A2 и позволить формату ячейки отображать "мммм гггг" .
Самой большой проблемой является совместимость для Разработчика C++ и предыдущие версии 2009 года, различия в Unicode - некоторые, но конфигурационные файлы проекта изменились также. Из обсуждений я следовал форумы CodeGear, нет большого выбора в вопросе.
Я думаю, что первое место запускается, если Вы не сделали так, Разработчик C++ информация о версии 2009 года.
Самой большой замеченной вещью был TCHAR, отображающийся (к wchar или символу); использование строковых вариантов STL может быть справкой, так как они не должны очень отличаться между этими двумя версиями. Отображение существовало в Разработчике C++ 2007 также (с tchar заголовком).
Для любого кода, который не обязательно должен быть явно Ansi или явно Unicode, вам следует как можно больше рассмотреть возможность использования определений типов System :: String, System :: Char и System :: PChar. . Это поможет упростить миграцию, и они работают в предыдущих версиях.
При передаче System :: String в функцию API вы должны учитывать новую настройку «TCHAR maps to» в параметрах проекта. Если вы попытаетесь передать AnsiString :: c_str (), когда «TCHAR сопоставляет с» установлен на «wchar_t», или UnicodeString :: c_str (), когда «TCHAR сопоставляет с» установлен на «char», вам придется выполнить соответствующие приведение типов. Если у вас есть «TCHAR maps to», установите значение «wchar_t». Технически UnicodeString :: t_str () делает то же самое, что и TCHAR в API, однако t_str () может быть очень опасным при неправильном использовании (когда для «TCHAR maps to» установлено значение «char», t_str () преобразует внутренние данные UnicodeString в Ansi).
Для «сырых» строк вы можете использовать новый тип RawByteString (хотя я не рекомендую его) или вместо этого TBytes (который представляет собой массив байтов - рекомендуется). Вы не должны использовать Ansi / Wide / UnicodeString для несимвольных данных для начала. Большинство людей использовали AnsiString как временные буферы данных в прошлых версиях. Не делай этого больше. Это особенно важно, поскольку AnsiString теперь поддерживает кодовые страницы, и поэтому ваши данные могут быть преобразованы в другие кодовые страницы, когда вы меньше всего этого ожидаете.