0

システム言語が「ロシア」に変更されている間に現在の月を取得しようとすると、「??????」が表示されます。

コード:

Dim presDate as String
presDate = Format(Date,"ddmmmmyyyy")

私の上記のコードは「??????」として出力します。私はExcel 2010を使用しています。答えを提案してください。

4

3 に答える 3

1

コントロールパネル-地域および言語オプションで非Unicodeプログラムの言語ロシア語に変更した場合、キリル文字はデバッグウィンドウを含むVBEエディターで正しく表示されるはずです。

于 2013-02-26T18:22:12.477 に答える
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
于 2013-02-26T13:57:17.273 に答える
0

イミディエイトウィンドウでこれを行うと

Debug.Print Format(now,"ddmmmmyyyy")

私が得る即時ウィンドウで

26???????2013

そして私がするとき

cells(1,1)=Format(now,"ddmmmmyyyy")

A1私が得るセルで

26февраля2013

VBA IDE は非ラテン文字を処理できないと思います (おそらく ASCII に限定されます)。

于 2013-02-26T15:21:38.003 に答える