Iは、コードの行を持っている:vef
データを持つ配列であるのExcel VBA - 日付形式としてリサイズ
.Range("D2").Resize(UBound(vef, 1), 1) = vef
。この行を編集してvef
を日付形式で貼り付けることはできますかdd.mm.yyyy hh:mm:ss
Iは、コードの行を持っている:vef
データを持つ配列であるのExcel VBA - 日付形式としてリサイズ
.Range("D2").Resize(UBound(vef, 1), 1) = vef
。この行を編集してvef
を日付形式で貼り付けることはできますかdd.mm.yyyy hh:mm:ss
これで十分です。同じ範囲で作業し、セルの数値形式を変更するだけです。注:貼り付けられている値は変更されていません(配列の値は日付である必要があります)。 Excelは表示される内容が変更されるように書式を適用しますが、基礎となる情報を失うことはありません。
配列に文字列が含まれている場合は、あらかじめ日付に変換することを検討することをお勧めします。 Excelはこれを暗黙的に行うことができます(たとえば、元の値が日付であるにもかかわらず自動的にフォーマットされます)が、明示的な変換が優先されます。あなたのコードの場合
は、この使用:
With .Range("D2").Resize(UBound(vef, 1), 1)
.Value = vef
.Numberformat = "dd.mm.yyyy hh:mm:ss"
End With
を最後に、私はちょうどあなたの配列が1基づいている場合、あなたのUbound(vef, 1)
にのみ動作することを指摘します。
Length = (Ubound(Array, DimensionNumber) - LBound(Array, DimensionNumber)) + 1
:
Length = (Ubound(vef, 1) - LBound(vef, 1)) + 1
それが0基づいている場合は、あなたのサイズ変更された範囲では、配列の次元の長さを見つけるために使用できる式は1でオフになります
幸運を!
はい、それです。ありがとう。私は両方のことを考慮に入れます – user155754
問題ありません。他に質問がある場合はお知らせください。 –
あなたは配列を持っているので、範囲を簡単に計算できるはずです。範囲を設定する前に範囲フォーマットを設定するだけではできませんか? – Zac