当我的系统语言改为“俄罗斯”时,我试图获得当前月份,它给出了“??????”。
代码:
Dim presDate as String
presDate = Format(Date,"ddmmmmyyyy")
上面的代码将输出显示为“??????”。我正在使用Excel 2010。 请提出答案。
答案 0 :(得分:1)
如果您在控制面板中将非Unicode程序的语言更改为俄语,则应在VBE编辑器中正确显示西里尔字母,包括调试窗口 - 区域和语言选项
答案 1 :(得分:0)
此代码有效。它将被称为'= mydate(date_value)',其中date_value可以是对具有日期的单元格的引用,字符串值如'“11/2/96”',这是一个返回系统的Excel函数当前日期(例如,'= mydate(TODAY())'或'= mydate(NOW())。
Option Explicit
Function mydate(cel As Variant) As String
If (TypeName(cel) = "Range") Then
mydate = Format(cel.Value, "mmmm dd yyyy")
ElseIf TypeName(cel) = "String" Then
mydate = Format(datevalue(cel), "mmmm dd yyyy")
ElseIf TypeName(cel) = "Double" Then
mydate = Format(Round(cel, 0), "mmmm dd yyyy")
Else
mydate = CVErr(xlErrValue)
End If
End Function
答案 2 :(得分:0)
当我在即时窗口中执行此操作时
Debug.Print Format(now,"ddmmmmyyyy")
在我看到的即时窗口中
26???????2013
当我做的时候
cells(1,1)=Format(now,"ddmmmmyyyy")
单元格A1
中的我得到
26февраля2013
我认为VBA IDE不能做非拉丁字符(可能只限于ASCII)。