Excel 如何获取月份并将其格式化为书面形式

Excel 如何获取月份并将其格式化为书面形式,excel,vba,Excel,Vba,我有一个“dd/mm/yy”格式的日期,我想把它改成“yyy月的dd”。问题是我想要葡萄牙语,所以它是“dd de month de yyyy”,所以如果我使用常规的格式(`Format(Date),dd de mmmm de yyyy)''''),单词“de”中的“d”会与日期混淆 我如何解决这个问题 我试过这个 dados.Range("L" & linha).Value = Day(prcs.Range("B17")) & " de " & Format(Month

我有一个“dd/mm/yy”格式的日期,我想把它改成“yyy月的dd”。问题是我想要葡萄牙语,所以它是“dd de month de yyyy”,所以如果我使用常规的格式(`Format(Date),dd de mmmm de yyyy)''''),单词“de”中的“d”会与日期混淆

我如何解决这个问题

我试过这个

dados.Range("L" & linha).Value = Day(prcs.Range("B17")) & " de " & Format(Month(prcs.Range("B17")), mmmm) & " de " & Year(prcs.Range("B17"))
2018年5月12日这样的日子,我得到的是“2018年5月12日”,而不是我预期的“2018年5月12日”


我还尝试将月份存储在另一个变量中并从中格式化,但我要么把它弄乱了,要么它不起作用。

d
是一个保留格式掩码字符,表示月份中没有前导零的日期。要将其显式用作文字字符串,请使用反斜杠或引号将其转义。由于必须在带引号的字符串中加上双引号,因此反斜杠似乎更合适

'Format(Date, "dd \d\e mmmm \d\e yyyy")
dados.Range("L" & linha).Value = Date
dados.Range("L" & linha).NumberFormat = "dd \d\e mmmm \d\e yyyy"
'with quoted literal string
dados.Range("L" & linha).NumberFormat = "dd ""de"" mmmm ""de"" yyyy"

d
是一个保留格式掩码字符,表示一个月中没有前导零的一天。要将其显式用作文字字符串,请使用反斜杠或引号将其转义。由于必须在带引号的字符串中加上双引号,因此反斜杠似乎更合适

'Format(Date, "dd \d\e mmmm \d\e yyyy")
dados.Range("L" & linha).Value = Date
dados.Range("L" & linha).NumberFormat = "dd \d\e mmmm \d\e yyyy"
'with quoted literal string
dados.Range("L" & linha).NumberFormat = "dd ""de"" mmmm ""de"" yyyy"

您希望将格式设置为字符串
“mmmm”
,即:
格式(月(prcs.Range(“B17”),“mmmm”)

如果在代码顶部有
选项Explicit
,则会突出显示此选项。

您希望以字符串形式给出格式
“mmmm”
,即:
格式(月(prcs.Range(“B17”),“mmmm”)

如果在代码顶部有
选项Explicit
,则会突出显示此选项。