2011-10-26 5 views
0

VBAを初めて使用していて、最近かなりのことを読んでいますが、小さな問題に遭遇しましたが、答えが見つからないようです。Excel VBAは、スライス後に日付を正しくフォーマットしません。

私は一定の量の列にフォーマットし、ある列からデータを取り出して別の列に再フォーマットする必要があるスプレッドシートを用意しました。

これらの列の一つは、報告書が提出された週の終了日を含める必要があります - 日付は、細胞(N10)にあり、次のようになります。

ウィーク:2011 36:02 10月11日 -

Range("C14") = "=Right($N$10, 9)" 

を、私は、文字列「10月8日の部分を取得することができるよ:08 10月11日

は、だから私は、細胞は、コードのこのビットを別のセル(C14)にそれを入力したことをスライスしました11 "が、それをam/d/yyyy形式にすることはできません。これは私が今までに書式を設定するために使用しているコードの一部です:

Columns("C:C").NumberFormat = "m/d/yyyy" 

私はこのセルが日付として、その後フォーマットするために、より多くの書式設定する必要があることを想像するんだけど、私はありませんよどこから始めるのか

あなたが日付に変換する必要があり、あなたが

答えて

2

Right関数は、文字列を返しますありがとうございました。あなたがそれを行うことができ、さまざまな方法があります、一つの方法は、Value function使用することができます

Range("C14") = "=Value(Right($N$10, 9))" 

このC14に値40824を(説明のためthisを参照)得られますが、あなた一度NumberFormatにそれが表示されますあなたの適用します10/8/2011として

+0

ああ私はそこにいました!どうもありがとうございます – over

関連する問題