16385列目のデータ
2016年6月現在、Excel2016の最終列はXFD列(16384列)だ。
ここで、ふと思った。最終列に何某かのデータが入力されている状態で、それ以前のどこかに列挿入を行った場合、XFD列のデータはどうなるのだろうか。
試しにやってみた。すると、エラーになった。
今までに見たこともない、長い長いエラーメッセージだ。
しかし、普段このような巨大列情報を扱うことは、通常の業務では皆無ではないかと思う。今回の現象を心配するのは、50億年後の太陽消滅を憂うようなものだ。
それでも、もし16385列目を扱う場合があるとしたら、値しか扱えないが配列で代用するのはどうだろう。1行16385列の仮想シートで、試しにやってみた。
Sub test() Dim arr(1 To 1, 1 To 16385) As Variant Dim i As Long For i = 1 To 16385 arr(1, i) = i Next End Sub
一応、問題なく処理できた。では思い切って、行側もやってみたら、どうなるか。
Sub test() Dim arr(1 To 1048577, 1 To 16385) As Variant Dim i As Long Dim j As Long For i = 1 To 1048577 For j = 1 To 16385 arr(i, j) = i + j Next Next MsgBox "処理完了" End Sub
恐る恐る実行してみたところ、次のような結果になった。
やっぱり物事には、限度があるってことで。
参考まで。