学習帳

VBAで特定セル範囲の値と書式を別々の配列に転記

公開:


セルの内容を配列に一括でセットする手はよく使うが、セル書式が失われてしまう。
そこで、書式は書式専用の配列を設けて退避しておくということを考えてみた。

Dim A As Variant
Dim B As Variant
Dim ROWCOUNT

'対象行数
ROWCOUNT = 100

'セルから配列にセット(値)
C = Sheets("サンプル").range("A1:Z" & ROWCOUNT)

'セルから配列にセット(書式)
D = Sheets("サンプル").range("A1:Z" & ROWCOUNT).NumberFormat

'配列からセルに戻す(値)
Sheets("サンプル").range("A1:Z" & ROWCOUNT) = A

'配列からセルに戻す(書式)
Sheets("サンプル").range("A1:Z" & ROWCOUNT).NumberFormat = B


関連記事


スポンサーリンク