先週、Windows 8 が発売されましたが、それに関連しまして
今日は、来年早々に国内販売予定である次期Officeのバージョン2013について書きます。
先月、品川でマイクロソフトの「The Microsoft Conference 2011(MSC 2011)」というイベントがありまして、私もちょっとそれに参加して見聞きして来ましたので、それに基づいて以下ご紹介します。
まず、私としては一番気になるVBAのバージョンについてなんですが、当日の会場で体験できた版のVBE(プログラムの画面)のバージョンは 7.1 でした。
現行の2010が 7.0 ですので、これは実際に触って確認したところでも見た目にも全く変わった所はなく、操作性に関しては全く問題はありません。(VBA自体の詳しい中身の互換性については当然ですが今後の検証が必要です。)
それで、次期バージョンの Excel2013 で何が変わるのか?
という所を、当日のマイクロソフトのプレゼンテーションを聞いた話で(あくまでも私の記憶に残っている限りでですが・・)一通り挙げてみますと、
・「フラッシュフィル」機能
・「おすすめグラフ」機能
・「おすすめピボットテーブル」機能
・「タイムラインスライサー」機能
・「アニメーション」機能
・「タッチデバイス」対応
これらの新たな機能が加わったということです。
ちょっとこれら記憶する限りで以下に解説をしてみます。
まず、「フラッシュフィル」というのは、皆さん今でもよく使ってると思われる現行の「オートフィル」の機能に似たイメージだと思えば分かりよいかと思いますが、それを更に進化させた入力補助機能だという風に思い浮かべてください。
たとえば、人の名前で「姓」と「名」が別々の列に分かれているシートがあった場合に、これを「氏名」として(姓と名をくっ付けて)新たな列に入力したいといった時に、その「姓と名」を最初の2~3人分入力していくと後は(「オートフィル」のように)データの最後まで自動で入力ができてしまう、といった機能です。
もし、これをいつもの三太郎流初心者向けマクロで簡単に作ってみれば、
+---------------------------------------------
Sub Macro1()
n = Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To n
Range("A" & i).Select
a = ActiveCell.Value
Range("B" & i).Select
b = ActiveCell.Value
Range("C" & i).Select
ActiveCell.FormulaR1C1 = a & b
Next i
End Sub
+---------------------------------------------
といったプログラムになるかと思います。
(ざっくりではありますが、、これなら「マクロの記録」を使ってささっと作れば、当講座でいつもやってる作り方であれば、ものの5分もあれば誰でも完成できる話だと思いますから是非チャレンジしてみてくださいね。)
また、この機能では数字だけのデータ(郵便番号や電話番号など)を送付ラベル等の印刷用に、間に - のマークを入れたい(たとえば郵便番号なら1234567 → 〒123-4567)といった場合にも、最初の2~3個を入力してそのパターンを認識させるだけで「オートフィル」のように最後まで同じパターンで引っ張って、自動で入れてくれます。
これも、ごく単純にマクロでやるのであれば、
+---------------------------------------------
n = Cells(Rows.Count, "D").End(xlUp).Row
For i = 2 To n
Range("D" & i).Select
a = ActiveCell.Value
Range("E" & i).Select
ActiveCell.FormulaR1C1 = "〒" & Left(a, 3) & "-" & Right(a, 4)
Next i
+---------------------------------------------
と、まぁざっくりこんな感じに組めるかと思います。
この講座で学んできた読者の皆さんであれば、このらの程度のものはもうごく簡単にササッと作れる(?!)だろうと思いますので、「これを元に色々な応用が利く」という意味で言えば、このようなExcel2013の便利な新機能に頼るというよりも、自分でこうしたちょっとしたマクロを組んで利用したほうが、より便利で応用も利いて利便性も高くて良いかも知れませんよね。
次の「おすすめグラフ」や「おすすめピボットテーブル」の機能ですが、
これは、指定のデータに沿った「おすすめ」のパターンが複数表示されて選べるようになるという機能で、グラフが苦手という人には朗報です(かね)。その「おすすめ」されたものが、どこまで的を得ているか?ということは判りませんが、
「おすすめ」の中から選んでワンクリックするだけで、グラフもピボットテーブルも即完成!となるのであれば、ウィザードとかグラフツールとか、そんな七面倒くさいものをもう覚える必要もなくなるわけですから、これは相当楽ちんになりますよね。
あと、「タイムラインスライサー」や「アニメーション」といったちょっと聞きなれない名前の機能についてですが、
「タイムラインスライサー」というのはグラフの表示期間がスライス表示(よくあるスライド操作で)できるといったもので、リアルに期間を変えてその場で見ることができるというものです。
「アニメーション」機能の方は、とにかく(何かが)動きます。これはよく覚えていなくてすみませんが、とにかく「何かが動いたなぁ~」程度の記憶しか残ってない程度のものだった気がします。。
最後に、これが多分今回バージョンアップの目玉の「タッチデバイス」対応についてですが、
これは皆さんもうご承知の方も多いと思いますが、次期OSの「 Windows 8」では、昨今何かと流行のタッチパネル操作というのが出来るようになるということで、それが次の「Office ソフト」にも対応するということです。
今回のマイクロソフト社のプレゼンテーションでの説明によれば、「あらゆるデバイスでOfficeを利用可能にする。」というのが同社のOffice製品開発の方針だということですので、今後とも「Windowsに新しく付いたインタフェイスはOfficeにも必ず付けますよ。」と、製造元のマイクロソフトは言っているのだろう、と思います。
それで、その特徴としては「Excel 2013」等のOfficeにも“タッチモード”というのがついていて、そのモードに切り替えると選択等のメニューが普段より大き目に(指で触りやすく)画面表示されるという仕組みとなっています。
あと一つ、(これはExcelの話ではないみたいなんですが・・)私個人的に気になったのが、補助線が出て配置揃えがし易くなるという機能がパワーポイントには付いたという話がありまして、
それは、Excelでもテキストボックスとかアイテムとか複数配置の際にはぜひ欲しいなぁと思っていた機能なんで・・・、でもたぶん、今回はパワポだけに装備された新機能のようです。
で、バージョンが上がっていく上でマクロに関して最も重要なことは、
バージョンアップにも大小(大幅な時と多少の時)というのがありますので、次回の2010から2013へのバージョンアップというのは、明らかに小規模なバージョンアップであると思いますが、Officeソフトの場合にはここ10年で言うと、2003→2007のバージョンアップの際に大幅な改造というのが行われたわけです。
Excelの2000や2002や2003のあいだや、Excel2007や2010(や、今度の2013も含めて)のあいだ、その中での行き来というのは特に問題なしに気にしなくてもよいわけであるんですが、大幅なバージョンアップがなされた(97~2003まで)と(2007~)のあいだを跨ぐような使い方をする時は、特に気をつけなければなりません。
よくまれにですが、「Excel2007で作ったマクロが2003で動かない!」などと言って怒っているような人もおられるようなんですが、それはあくまでも素人さん的な考え方でありますので、コンピュータシステムのことをよく知ってるプロの人間であれば、「上流のバージョン(新しい方)で作ったプログラムが下流のバージョン上でも動くのが当然だろう・・・」なんてことは、、考えもしません。
それは決して製造販売元のマイクロソフトに文句の言える話ではない訳です。いくらさすがのマイクロソフトといえども、未来から過去は変えようがありませんから。。(笑)
ITの世界には、「パージョンアップ」という言葉はあってもその逆の「バージョンダウン」という言葉は存在しません。(バージョンアップに失敗して前のバージョンに戻すという行為のことを、間違ってそう称して使ってるという人がたまに居るだけです。。)
もし動いたとしても、それは、「たまたま運よく動いただけ。」であって常識的には「動くわけがない。」と考えるのが正しいわけです。未来から過去は変えようがありませんから。。
2007や2010のバージョンで作ったマクロでも、特に罫線や色関係や新しい関数を使っていないものであれば、2003以前のバージョンでも動くという場合は多いですし、最初ダメでも出たエラー行を片っ端から削除していくという方法で動くということもありますので、もしそれでも動けばいいというのであれば、それはそれでいいわけではありますが、、
基本、2007や2010で作ったマクロが下位の2003でも使える、と考えるのは、”まるで素人考え”なだけでありますので、その不満をネット上に書き込んだりしてプロのSEやプログラマーの人達に笑われてしまわぬよう気を付けてください。
小規模なバージョンアップ間での移行(2010から2007とか)や、大規模な場合でも下流から上流へ(2003から2007や2010とか)は、特に大きな問題は起こりません。
もし、下流から上流へ(古い方から新しい方へ)移行して問題があれば、それは製造元のソフト会社に文句を言える話であるわけです。(過去は変えようがないですが、未来はいくらでも変えられるわけですから、作った会社はちゃんとその辺を考えて作る責任があるわけです。)
こんな荒んだ時代(!?)ではありますが、我々、現代に生きる者達の頑張り次第で、輝かしい人類の未来を切り開くということは可能でしょうし、核兵器や原発ゼロの世界という未来も、実現できるかもしれません。。。(すいません、これは余談です。)
最後にバージョンの基本についてまとめますと、
大規模なバージョンアップが行われた際(2003→2007)のマクロの行き来は、
下流から上流へ(Excel2000や2003 から 2007や2010への移動)は、○
上流から下流へ(Excel2007や2010 から 2000や2003への移動)は、×
これが根本的な、基本中の基本です。
バージョンを混在して使わなければならない状況の方は(自宅のPCがOffice2010で、会社は未だ2003だ、といった人は)このことだけはよくよく意識をした上で、マクロ作りに励んでいただくと大丈夫と思います。
コンピュータプログラムというものは(ここで教えているマクロを含めて)とても便利な反面、元来よりそうした厄介な面も持ち合わせている・・・というものでもありますので、そうご理解ください。
▼ゼロから7日間でスタートする!マクロ講座▼
エクセルマクロ(VBA)の『スターターズ・キッド』7日間メールセミナー
只今、無料登録受付中です↑