2017-03-22 13 views
2

を変更しない:VBAが異なる形式である日付とIカラム(COL I。)を有する全てのセルの形式

16. Jul 98 // 22-MAR-2016 // 04-MAY-2015 // 
17. Jul 10 // 13-DEC-2011 // 25. Aug 98 // 12. Sep 11 

Iの形式を変更するには、次のコードを使用する:

Sub numberformats() 
    Range("I:I").NumberFormat = "dd. mmm yyyy" 
End Sub 

しかし、これはフォーマットddのセルでうまく機能しました。 mmm yy、それはフォーマットdd-mmm-yyyのセルでは機能しませんでした。右クリック形式のセルで書式を変更しても、どちらも役に立ちませんでした(これはVBAに移行する前の私の最初の一歩でした)。

私はインターネット検索を行いましたが、私が似たような問題で見つけたすべての回答は、自分の問題に合わせて調整するにはあまりにも複雑でした。私はいくつかの助言を得ることを非常にうれしく思う(私はこれの絶対初心者です...)。

+1

'dd-mmm-yyy'セルの値は実際に文字列として保存されているのでしょうか、それとも日付ですか? – Jordan

+1

英語版のExcelを使用していますか、それとも別のものを使用していますか?例えば。ドイツ語/フランス語/ブルガリア語? – Vityata

+0

- セルは「カスタム」として格納され、タイプはTTです。 MMM JJ – Spring2017

答えて

0

これは、英語以外のバージョンのExcelを使用している場合に発生します。

たとえば、ドイツ語版の22.03.2016は22.Mrz 16と表示されます。したがって、あなたのケースでは、22-MAR-2016を与えたときに、Excelはあなたが日付を与えていることを理解していません。 UPPERCASEは少し問題があります。

恐らくそれを22-Mar-2016に変更してもう一度やり直すことをお勧めします。私のExcelではそれはかなり大丈夫です。

Excelで理解できる内容を確認するには、[ファイル]> [オプション]> [詳細設定]> [ユーザー定義リスト]を選択します。 enter image description here

+0

ああ、ありがとう!私は、はい、私のExcelはドイツ語であることがわかります。私はユーザー定義のリストをチェックしたが、月の英語バージョンは実際にはない。私は英語のものを追加しましたが、これはVBAを動作させるのに役立ちませんでした。そこに追加する以上のことをする必要がありますか?私は手動ですべての大文字を変更することはできません、あまりにも多くの私はこれらの日付を定期的に更新リストを取得するので、私は恒久的なソリューション、すなわち、作業VBAを見つける必要があります。 – Spring2017

+0

'JAN'を' Jan'に置き換え、 'FEB'をどこにでも置き換えて動作させる必要があります。置換も自動化できます。 – Vityata

+0

hm、私は、私がそれを行うことができるかどうかを見てみましょう。どうもありがとうございました。 – Spring2017

関連する問題