2016-04-22 11 views
0

これはむしろ奇妙ですが、これは起こっていることです。VBA - 1つのセルから別のセルに日付をコピーする - 奇妙な変更

tbl_Input.Cells(46 + (l_position - 1) * L_SIZE_BA, 12) = tbl_Input.Cells(46 + (l_position - 2) * L_SIZE_BA, 12) 

単に(a、b)はtbl_Input.Cellsの値を取り、tbl_Input.Cells(C、D)にそれを置くことになっている:私のコードでは、私は次の行を持っています。しかし、Cells(a、b)の値は "06.01.2016"で、コードを実行すると "07.01.2020"になります。私はこのようなテキストプロパティを取る場合

、私は私が正しく欲しいものを得る:

tbl_Input.Cells(46 + (l_position - 1) * L_SIZE_BA, 12) = tbl_Input.Cells(46 + (l_position - 2) * L_SIZE_BA, 12).Text 

私の質問は次のようである:私は書いていないですのに、なぜ私は、最初の場所で2020年7月1日を取得します。テキストまたは.Value?

+1

私は、それは細胞の形式で行うことだと考えている一般的な形式であなたの細胞であり、あなたは、日付を入力、または日付形式の細胞ですか? – IIJHFII

+0

日付形式の両方。 – Vityata

+1

は私のためのdataseriesのようですが、これは奇妙な動作です。セル-3でもう一度コピーしようとしましたが、8.1.2020をコピーしていますか? –

答えて

0

約1年後、StackOverflowの質問をチェックするだけで、この回答は本当に明白です。おそらくThisWorkbook.Date1904 = Trueだったでしょう。

何かをコピーするときは、正確に4年と1日の違いがあります。

これは、それを複製する方法です:

Public Sub TestMe() 

    ThisWorkbook.Date1904 = True 
    Cells(1, 1) = Date 
    Cells(2, 1) = Cells(1, 1) 
    ThisWorkbook.Date1904 = False 

End Sub 
関連する問題