田中亨グラフからは次の機能が削除されました。グラフはUIが大幅に変更された機能のひとつです。したら、まだ私が発見できないだけかもしれません。実現する操作(マクロを除く)がわかったら、別途ご紹介します。下図のようなグラフを作成したとします。ここに新しいデータを追加するとします。今までなら、追加したいデータ(ここではセル範囲A5:C5)を選択してグラフエリアの中にドラッグ&ドロップすればデータが追加されました。2007ではできなくなりました。ドラッグ&ドロップすると、グラフの下にセル範囲が移動するだけです。2003までは、作成したグラフ内の系列をドラッグすることで、元になる数値を変更することができました。2003の画面でお見せしましょう。2007では、グラフ内の系列をドラッグすることができません。複数のセルがお互いを参照しあう状態を循環参照と呼びます。2003では、誤って循環参照を作ってしまった場合[循環参照]ツールバーが表示されました。[循環参照]ツールバーでは、現在循環参照しているセルがリストから選択できますので、離れたセルが循環参照していても容易に発見することができました。2007では、次のようにして循環参照しているセルを見つけます。リボンの[数式]タブを開き、[ワークシート分析]グループの[エラーチェック]ボタン右にある▼をクリックします。[エラーチェック]ボタンをクリックしてしまうとワークシートのエラーチェックが行われるだけですので注意してください。▼をクリックして[循環参照]をポイントすると、循環参照しているセルが表示されます。別のシートや別のブックを参照している場合には、そのように表示されます。このときステータスバーには、循環参照が起きているというメッセージと、そのセルのアドレスが表示されます。動作の検証をしていて、このステータスバー表示にバグがあるのを発見しました。循環参照しているブックを開いている状態で、新しいブックを挿入します。挿入したブックがアクティブになり、ステータスバーには「循環参照」とだけ表示され、セルのアドレスは表示されません。循環参照している問題のブックが非アクティブになったからです。この新しく挿入したブックに自動再計算関数を入力してみましょう。セルA1に「=INDIRECT("B1")」と入力します。すると、自動再計算関数を入力したセルが循環参照しているとして、ステータスバーにアドレス(ここではINDIRECT関数を入力したA1)が表示されます。考えてもセルA1は無関係です。Excelの内部で複数回再計算が行われたセルをチェックしているのでしょうけど、循環参照しているセルだけでなく、自動的に再計算が行われる関数も誤って見つけてしまうのだと思います。自動再計算関数ではない関数を入力した場合は、ステータスバーに表示されません。2007では、オートシェイプなどのオブジェクトが一新されました。この新しい描画エンジンはかなりの優れモノで、開発当初から「今度のシェイプはすごいよ!」という声を何度となく開発チームから聞いていました。確かにデザインも綺麗だし、文字の加工も強力だし、Excelの表現力がますますアップすること間違いありません。中でも感心したのは、セルを削除したときに隠れてしまうという不具合が解消されたことです。2003での挙動をお見せしましょう。シート上に任意のオートシェイプを配置します。オートシェイプをすべて含むように列全体を選択して削除します。実行するとこうなります。オートシェイプはセルと一緒に削除されたように見えますが、行番号のあたりにマウスを合わせると、マウスポインタの形が変化します。これは、オートシェイプを選択して移動するときのマウスポインタです。試しにそのままシートの中にドラッグしてみると・・・削除されたはずのオートシェイプが現れました。実際には削除されていたのではなく、横幅が0になって、ワークシートの左端に移動しただけだったのです。ハンドルをドラッグして幅を広げると、ほら元に戻りました。ワークシート上に配置したオートシェイプは、下のセルと一緒に移動したり、セルの大きさに応じて縦横のサイズが自動的に変化したりします。そのことから、何となく「オートシェイプはセルと一体」というイメージを抱きやすいです。このイメージがくせ者。上でやったように、セルを削除すればその上に乗っているオートシェイプも削除されると勘違いしているユーザーが非常に多いです。して作成された見えないオートシェイプですが、実際は存在しているのですからブック内にデータとして保存されます。図形関係ですから、けっこうファイルサイズが大きくなります。ファイルサイズが大きくなると読み込み/保存に時間がかかるようになります。データの割にファイルサイズの肥大化しているブックがあったら、こうしたステルス・オートシェイプを疑ってください。2007でやってみましょう。[挿入]タブの[図形]から任意の図形を配置します。同じように列全体を選択して[削除]を実行します。行番号あたりにマウスを移動してもマウスポインタは変化しません。これだけでは信用できませんね。そこで次のようなマクロで存在を確認してみます。これは、アクティブシートにあるオートシェイプの個数を調べるマクロです。Subどうやら間違いなく削除されたようです。田中亨Excelのオプションには、ワークシート上に挿入したオブジェクトを隠すための設定がありました。標準では[すべて表示]がオンになっています。[位置だけ表示]を選択すると、埋め込みグラフの内部が塗りつぶされて「そこにグラフが存在する」ということだけが示されます。するとグラフの再描画なくなるので、ワークシートのスクロールが高速になるというメリットもありました。[すべて非表示]は読んで字のごとく、何も表示されなくなります。[すべて表示][位置のみ表示][すべて非表示]この切り替えはCtrl+6に割り当てられていました。2007のオプションを見てみると[位置のみ表示]という選択肢がなくなりました。Ctrl+6を押しても「位置のみ表示」にはなりません。ほとんど知られていないオプションでしたので、悔やむユーザーは少ないと思いますけど。田中亨この変更点に気づくユーザーが、はたして何人いるでしょう?いや、そもそも、この変更点を喜ぶユーザーがいるのでしょうか?そんな、普通ではまったく気づかない変更点をご紹介します。1-2-3形式のキー操作」というオプションがあります。1-2-3ユーザーを取り込むために用意された互換オプションです。1-2-3と同じようなキー操作が可能になります。セルに「¥-」と入力すると「¥」に続く「-」が連続して表示されます。1-2-3で「¥」は「続く文字をセル幅いっぱいに表示せよ」という接頭辞だからです。MS-DOS時代には、この機能を使ってシート上に疑似罫線を引いたものです。「-」だけでなく「+」もセルいっぱいに表示されます。文字列も、セルいっぱい。1-2-3形式のキー操作」というオプションがあります。オンにして試してみましょう。「-」の疑似罫線は、ご覧の通り。・・・あれ?数字が連続しません。1-2-3の接頭辞には「'」「^」「"」などがあり、「'」を付けるとそのデータは文字列として認識されました。これは、Excelでも活用される上質なテクニックですね。ちなみに「^」は続くデータを「文字列として中央揃え」にする接頭辞です。「^123」と入力することで「123」をセルの中央に配置できました。2007で追加されたようです。確かにその方が自然ですけど、細かすぎてほとんどのユーザーには伝わらない変更点でしょう。田中亨リボンにはたくさんのボタンが配置されています。2007にはツールバーがなくなってしまったのです。今までツールバーに用意されていた機能は、すべてリボンから実行できるようにしておかなければなりません。いえ、リボンにも限度がありますから「これはあまり利用されないだろう」と判断されたボタンは、標準では配置されていません。標準の状態でリボンに配置されているボタンは、何らかの理由でMicrosoftが「これは配置した方がよい」と判断したのでしょう。その中で、最も利用されないボタンは何だと思いますか?Excelの使い方は千差万別ですから、ユーザーによってよく使うボタンも異なるでしょう。このボタンをクリックする人は少ないと思います。[開発]タブの[コントロール]グループにある[ダイアログの実行]ボタンです。試しにクリックしても、何も変化はありません。5.0/95時代のマクロで設定したフォームを表示するためのボタンです。使い方をご紹介しましょう。シート見出しを右クリックして[挿入]を実行します。5.0ダイアログ」を選択して[OK]ボタンをクリックします。"ダイアログ"が半角カタカナで表示されているあたり歴史を感じますね。これが「ダイアログシート」です。VBAのUserFormに似ていますが、正真正銘の「シート」です。この「ダイアログシート」を表示している状態で[ダイアログの実行]ボタンをクリックすると、ダイアログが表示されます。これは、主に動作の確認目的で行う操作です。VBAからダイアログシートを操作するのは、少々コツが必要です。ダイアログシートですから。97でVBAがバージョンアップし、現在は同じ機能をUserFormで実現できます。大昔の使いにくいダイアログシートを使うユーザーもいないでしょう。[開発]タブの[ダイアログの実行]ボタンは、おそらく誰も利用しないと思います。このボタンは非表示にして、コマンドボタンやリストボックスを挿入するボタンでも配置しておいた方が便利なのでは...と感じます。田中亨セルA1の真上にある名前ボックスは、通常はアクティブセルのアドレスなどが表示されていますが、ここに任意のアドアレスを入力することで、アクティブセルを移動することができます。ちなみに「A1:B5」や「B:C」のように範囲を指定して選択することも可能です。名前ボックスを使った便利な機能があります。任意のセルに名前を設定しておくと、設定した名前が名前ボックスに表示されるのです。ややこしいですか?つまり、こういうことです。残念ながら名前ボックスの幅はそれほど広くはなく、あまり長い文字列を名前に設定すると全部表示されませんでした。2007は名前ボックスの幅が広がりました。え?たいして変わらないって?もっと長い名前だったらどうするのかって?大丈夫です。2007の名前ボックスは幅を変更できるようになったんです。名前ボックスを積極的に活用しているユーザーは少ないかもしれませんが、これはウレシイ機能拡張です。2007で何かマクロを自作したとき、そのマクロをどうやって実行したらいいのでしょう。今までは、次のような方法が一般的でした。2007で使えません。メニューとツールバーという機能がなくなったからです。状況によってはワークシート上にボタンを挿入できないケースもあるでしょう。2007にはクイックアクセスツールバー(QAT)と呼ばれる機能が用意されています。通常はリボンの上に表示されている、とても慎ましやかなツールバーがQATです。ここでは、QATの詳しい使い方は割愛しますが、QATには自作マクロを登録することもできます。従来のツールバーのように、ボタンを挿入して、そのボタンにマクロを登録して・・・という二段階の手続きは必要ありません。マクロを直接登録して実行することができるんです。新しく作成したマクロをQATに追加する手順をご紹介しましょう。2007を起動し、新しいブックが表示されている状態で、Alt+[F11]キーを押します。実行するとVBEが起動しますので、何か適当にマクロを作成してください。ここでは、標準モジュールに次のようなマクロを作成しました。実行すると次のようなメッセージが表示されます。このブックに名前を付けて保存します。ここでは「マクロのテスト.xlsm」としました。マクロ有効ブックにするのを忘れないでくださいね。今作ったマクロ「Sample」をQATに登録してみましょう。QAT右端にある[クイックアクセスツールバーカスタマイズ]ボタンをクリックし、[その他のコマンド]を実行します。QATのボタンは、ここでカスタマイズします。[コマンドの選択]リストで「マクロ」を選択すると、下のリストボックスにマクロのプロシージャ名の一覧が表示されます。QATに登録したいマクロを選択して[追加]ボタンをクリックすると、選択したマクロが右のリストボックスに転記されます。[OK]ボタンをクリックすると登録完了です。クリックすると、マクロが実行されます。QATに登録したマクロは、上図のように、マウスポインタを合わせるとプロシージャ名がツールチップで表示されます。ここで表示されるツールチップや、QAT内に表示するアイコンの種類は、先の[Excelのオプション]ダイアログボックスで変更することができます。右のリストボックスで変更したいマクロを選択し、[変更]ボタンをクリックします。表示される[ボタンの変更]ダイアログボックスでは、QATに表示するアイコンと、ツールチップとして表示される文字列を変更できます。注意すべきポイントがあります。Sample」だということです。当たり前ですが、このマクロを実行するには「マクロのテスト.xlsm」を「マクロを有効にする」状態で開いておかなければなりません。ブックが開いていない状態でボタンをクリックすると次のようなエラーになります。マクロが記述されているブックを「マクロを無効にする」状態で開いていると、次のようなメッセージが表示されます。QATに登録するマクロは、アドインか、個人用マクロブック(Personal.xlsb)に記述した方がいいでしょう。テストや仕様確認などを目的にした開発途中のバージョンをベータ版といいます。2007のベータ版は2006年5月24日に一般公開されました。このバージョンは「ベータ2」と呼ばれるもので、この前に「ベータ1」がありました。こちらは一般公開されていません。ベータ1→ベータ2で機能に大きな違いはなかったのですが、一つだけ残念な仕様変更がありました。それは、データをPDF形式で保存する機能です。ベータ2ではこの機能が削除されました。噂ではアドビ社とPDFのライセンスに関して合意を得られなかったらしいのですが、そんなの開発前に済んでることだと思ってました。削除されちまったものは仕方ない...とあきらめていたら、製品版へのアドイン(追加機能)という形式でMicrosoftから公開されました。このアドインを組み込むことで、作成したデータをPDF形式で保存することが可能になります。アドインを組み込むには、MicrosoftのダウンロードサイトからSaveAsPDFandXPS.exeをダウンロードします。このファイルはPDF形式だけでなく、XPS形式による保存も追加するアドインです。PDF形式だけに対応したアドインも用意されています。ダウンロードしたファイルを実行するとライセンスの同意画面が表示されます。念のために、Excelは終了させておいた方がいいでしょう。同意するのチェックボックスをオンにして、[次へ]ボタンをクリックすればアドインがインストールされます。2007を起動して、[Office]ボタンをクリックします。[名前を付けて保存]を開くと[PDFまたはXPS]というコマンドが追加されています。ここでは、次のようなブックをPDF形式で保存してみました。画面はページレイアウト表示です。簡単な表をテーブル機能で装飾し、3Dグラフと吹き出し(オートシェイプ)を追加しました。最上部の「営業会議資料」はヘッダーです。[PDFまたはXPS]を実行すると次のダイアログボックスが表示されます。[オプション]ボタンをクリックすると、次のような設定ができます。ここまでの手順は難しくありません。設定を変える必要がなければ、このまま[発行]ボタンをクリックします。[発行後にファイルを開く]チェックボックスがオンになっていれば、すぐにPDFリーダーが起動して、保存したファイルが表示されます。(※このブログに表示できる画像のサイズは100KBが上限のため、上図の画像は256色に減色しています)詳細に比較検討したわけではありませんが、品質はかなり良いと感じました。実はベータ1に搭載されていた[PDF形式で保存]機能では、テーブル機能で装飾した罫線が正しく再現されないなどの不具合もあったのです。PDF形式は複雑ですから、もしかすると忠実に再現できないケースがあるかもしれません。それでも、Excelから直接PDFファイルを出力できるのは便利ですね。2007ではオートシェイプが一新されました。形やデザインはそれほど変わっていませんが、描画するためのグラフィックエンジンが新しくなりました。ワークシート上に配置したオートシェイプは[オブジェクトの選択と表示]ウィンドウで操作します。[ページレイアウト]タブの右端[配置]グループにある[オブジェクトの選択と表示]ボタンをクリックすると[オブジェクトの選択と表示]ウィンドウが表示されます。[オブジェクトの選択と表示]ウィンドウでは、アクティブシート上に配置したオブジェクトの一覧が表示されます。オブジェクト名をクリックして名前を変更したり、右にある目のアイコンをクリックすることで、オブジェクトの表示/非表示を個別に切り替えることも可能です。複数のオブジェクトをグループ化するときは、グループ化したいオブジェクトを選択してリボンの[グループ化]ボタンをクリックします。[オブジェクトの選択と表示]ウィンドウ上で右クリックしてもコンテキストメニューは表示されません。新しい[オブジェクトの選択と表示]ウィンドウは、すべてのオブジェクトを一覧で表示できるので便利ですが、複数のオブジェクトをマウスのドラッグで選択するためのボタンがリボンには見あたりません。2003では[図形描画]ツールバーの左から2番目にあったアレです。[オブジェクトの選択]ボタンをクリックすると、配置した複数のオブジェクトをドラッグ操作だけで選択できたので便利だったのですが、どうやらリボンにはボタンが登録されていないようです。オブジェクトの操作は[オブジェクトの選択と表示]ウィンドウで行ってください、というアピールなのかもしれません。この機能自体は削除されていません。[オブジェクトの選択]ボタンをクイック・アクセスツールバーに追加すれば、いつでも実行できます。[Excelのオプション]ダイアログボックスで[ユーザー設定]を選択します。左側の[コマンドの選択]リストで「すべてのコマンド」を選択し、下のリストで「オブジェクトの選択」を選んで[追加]ボタンをクリックすれば、右のリストに[オブジェクトの選択]が追加されます。今回追加した[オブジェクトの選択]ボタンは、「すべてのコマンド」から選択することが可能ですが「リボンにないコマンド」には含まれていません。いうことは、リボンのどこかに[オブジェクトの選択]ボタンが配置されているということです。どこにあるのでしょう。探したら、こんなところにありました。[インクツール][ペン]タブでした。コンテンツで話題にした[オブジェクトの選択]ボタンですが、リボンの中に発見しました。[ホーム]タブ[編集]グループの[検索と選択]ボタンをクリックすると、下から二番目にあります。QATに追加しなくても、これをクリックすればいいですね。「検索と選択」というボタン名がいけませんね。双眼鏡のアイコンがあって「検索と...」とくれば「置換」と続くのが今までのパターンです。「検索と置換」と勘違いしているユーザーは、おそらく私だけではないでしょう。それに双眼鏡アイコンの「検索と...」は、セルの検索というイメージが強いです。セルの操作とオブジェクトの操作はまったく違いますから、まさかオブジェクトの選択がここにあるとは予想できませんでした。その下の[オブジェクトの選択と表示]コマンドは、[ページレイアウト]タブ[配置]グループにも用意されています。こちらの方が"オブジェクトの操作"を連想しやすいです。[オブジェクトの選択と表示]コマンドだけでなく[オブジェクトの選択]コマンドも、この[ページレイアウト]タブ[配置]グループに置いて欲しかったですね。