12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

雑・Excel入門試論 - 脱VLOOKUPの思考Advent Calendar 2022

Day 1

雑・Excel入門試論 - 脱VLOOKUPの思考 01 - ブック - 仕様と制限

Last updated at Posted at 2022-11-30

はじめに

 入門とは、外とは異なる世界へ踏み入れることです。知識なき者や志なき者を導くことではありません。そこでの学びは教わることではなく、問いかけることです。ここで語られるのは、答えではありません。80/20の法則とは、「80%のユーザーが20%の機能しか使っていない」というものです。しかし、マイクロソフト・エクセルでは、「95/5法則」の法則が当てはまります。95%のユーザーが5%の機能しか使っていないのです。数式や関数、そしてVBAを魔術師のように操る人を目指すのではなく、エクセルの機能を幅広く理解することで、誰でも維持、修正、拡張しやすい、解決の道筋は全員の目の前に開けてくるはずです。

Excelブックファイルの構造

 まずは、エクセルのオブジェクトモデルの説明から始める。

 エクセルは、Application、Workbook、Worksheet、Rangeの4つのオブジェクトがある。

 Applicatioオブジェクトは、アプリケーション全体を表し、WorkbookオブジェクトはWorksheetオブジェクトのコレクションが含まれる。セルを表す主要な概念はRangeオブジェクトになり、これによりここのセルやセルのグループを使用できるようになる。

 Excelブックは、Open XMLファイル形式のSpreadsheetMLスキーマで記述されています。
Open XMLフォーマットは、Microsoftが策定したXMLをベースとしたファイル形式で、2006年にECMA-376として標準化され、Office 2007 以降で採用されました。エクセルの場合、拡張子 xslx で保存されます。XML形式のファイルを圧縮して1つのファイルにしています。
 Excelブックの拡張子「xlsx」を「zip」に変更して内容を調べると、以下のような構造が現れます。(実際の配置とは違います)
text125.png

VBAは、ブック、ワークシート、標準モジュールの各レベルで記述ができますが、全てvbaProject.binの中にCompound File Binary Format(CFBF)で保存されています。エクセルファイルの拡張子は、必ずマクロが保存可能なファイル(.xlsm マクロ有効ブック、.xltm マクロ有効テンプレート、.xlsb バイナリブック)で保存する必要があります。.xlsxで保存した場合、マクロはファイルの中に保存されません。また、他人が作成したマクロの実行には制限が課せられます。

Open XMLの利点

  • 構成ファイルはXML形式で記述され、Zip圧縮されているため、コンパクトになります。
  • モジュール形式でファイルを分離させているため、一部が破損していても開くことができる可能性があります。
  • Open XMLを使用している他のオフィス製品との相互運用ができます。

ワークシートとブックの仕様と制限

 エクセルも1つのアプリケーションであり、全てを処理できるわけではありません。設定された制限内で最も望ましい処理を行うことを目指しています。以下のような制限があるということを認識しておくことは大切です。

機能 最大数
ワークシートの行数と列数 1,048,576行 16,384列(XFD)
列の幅 255文字
行の高さ 409ポイント
改ページ 1,026
セルが含むことができる合計文字数 32,767文字
ヘッダーとフッターの文字数 255
1つのセル内での最大改行数 253
有効桁数 15桁
数式の長さ 8,192文字
選択範囲 2,048
1つの関数に指定できる引数 255
関数に設定できるネストレベル 64
ユーザー定義関数の項目 255
使用可能なワークシート関数 341
計算で使用できる最も古い日付 1900 年 1 月 1 日 (1904 年日付システムの場合は 1904 年 1 月 1 日)
計算で使用できる最も新しい日付 9999 年 12 月 31 日
入力可能な最大時間 9999:59:59

1 つ以上の Excel テーブルが含まれているブックでは、[複数のユーザーによる同時編集を行う] 設定を有効にすることはできません。

エクセルファイルの種類

 エクセルファイルは、以下の種類があります。

種類 拡張子
ブック .xlsx
マクロを有効にしたブック .xlsm
テンプレート .xltx
マクロを有効にしたテンプレート .xltm
XML形式でないバイナリブック .xlsb
マクロを有効にしたアドイン .xlam

 VBA(Visual Basic for Applications)マクロは、1994年 Office for Windows 1.5 (Excel 5.0)の時代から搭載されています。現在は VBA 7.1 となっていますが、互換性を維持するためにセキュリティ問題の対応がされていません。そのため、VBAマクロを含むブックは拡張子を変えて明示しなければならず、開く場合も制限が付与されます。
 今後、VBAマクロに対しての根本的なセキュリティ強化は予定されていないと思われます。万一そのようなバージョンアップが行われた場合は従来のマクロの改修が必要になると思われます。VBAは限定的な利用に留め、新たなVBAマクロを業務で使用するのはおすすめできない理由です。

コンテンツ

12
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?