2012年5月4日金曜日

Excel エクセルの使い方-マクロ/VBA - インストラクターのネタ帳


対象:Excel2003, Excel2007, Excel2010

アクティブシートのテキストボックスをすべて削除するマクロをご紹介しました。

ShapesのCountだけループを回して、もしTypeがmscTextBoxだった削除するという方法を使ったマクロです。

この記事の最後に示唆したとおり、実は、ループ回さなくても、テキストボックスを一括削除することができます。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「エクセル2010 テキストボックス まとめて削除」
という検索が行われていました。

オブジェクトをすべて削除するのなら、[ジャンプ]ダイアログから[選択オプション]ダイアログや、[Ctrl]+[Shift]+[スペース]キーで、全オブジェクトを選択しておいて[Delete]キーを押すという操作でいいでしょう。

しかし、すべてのすべてのオブジェクトではなく、テキストボックスだけをすべて削除するとなるとちょっと面倒です。

で、VBA(Visual Basic for Applications)で、マクロを作成してみました。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「エクセル vba 列を非表示にする」
という検索が行われていました。

この手の検索が行われていることが、よく、あります。

そのたびに、なぜマクロ記録をしてみないのだろうという気がしています。

もしかすると、実際は、マクロ記録を試したあとに、希望するコードのヒントが得られなかったので検索をしているのかもしれませんが、もしも、マクロ記録を試したのならば、そこで作られたコードからヒントを得て検索をするほうが、もっと的確な情報を得られる可能性が高まるはずです。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「エクセル スペースにだけ下線を引きたい」
という検索が行われていました。

Excelでスペースにだけ下線を引く方法を探している方による検索です。

一つのセルにスペースと何らかの文字列が入力されているときに、スペースにだけ下線を引くには、スペースのみを選択して、下線を引く操作を繰り返す必要があります。

それをもっと簡単に行う方法を探している方による検索だと思います。

続きを読む

対象:Excel2003, Excel2007, Excel2010

VBA(Visual Basic for Applications)で、マクロ・ユーザー定義関数・イベントプロシージャなどをたくさん作り始めると、どのモジュールにどんなプロシージャが含まれているのか管理する必要が出てきます。

そんなとき、簡単にモジュールとプロシージャの一覧を作成するマクロが欲しくなってきます。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「エクセル 非表示 行 一括削除 マクロ」
という検索が行われていました。

非表示の行をまとめて削除するExcelマクロを探している方による検索です。

続きを読む

対象:Excel2003, Excel2007, Excel2010

パソコンを使っていると日々ファイルが増えていきます。

日々増え続けるファイルを整理するために、ファイル名をまとめて変更する作業が発生することがあります。

そんなときに、数個のファイルならエクスプローラー上で修正すればいいでしょう。

しかし、大量のファイルの名前を変更したい場合、手作業で変更するとなると大変です。

一括してファイル名を変更する、リネーム用のツールもありますが、VBA(Visual Basic for Applications)でExcelマクロを作り、ファイル名を変更することもできます。

続きを読む

対象:Excel2003, Excel2007, Excel2010

コマンドプロンプトのDIRコマンドを使ってファイル名一覧を作成する方法をご紹介しています。

同じようなことをExcelのマクロでやりたいということも実務ではあります。

続きを読む

対象:Excel2003, Excel2007, Excel2010

小数点以下を上付き文字にするマクロをご紹介しました。

数値を下付き文字にするマクロにも需要があると思いますので、ご紹介しておきます。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「エクセル VBA マクロ 小数点以下 上付き」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

小数点以下の数値を上付き文字にするVBA(Visual Basic for Applications)マクロを探している方です。

続きを読む

対象:Excel2003, Excel2007, Excel2010

たくさんのシートが存在していて、そのうち一部のシートが保護されたExcelファイルを受け取る機会がありました。

どのシートが保護されているのかが明示されていなかったため、どれが保護されているのかを、私のほうでチェックする必要がありました。

シートの枚数がそれほどなければ特にこのようなマクロも必要なかったのかもしれませんが、結構な枚数のシートがあったため、マクロを作成しました。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「エクセルマクロ 一括ファイル上書き保存して閉じる」
という検索が行われていました。

開いているExcelファイルを、すべて上書き保存して閉じるVBA(Visual Basic for Applications)マクロを探している方による検索です。


▼すべてのブックを上書き保存して閉じるマクロ

Sub すべてのブックを上書き保存して閉じる()

 Dim b As Workbook
 
 For Each b In Workbooks
  If Not b Is ThisWorkbook Then
   b.Close SaveChanges:=True
  End If
 Next b
 
 ThisWorkbook.Close SaveChanges:=True

End Sub

続きを読む

対象:Excel2003, Excel2007, Excel2010

「Worksheets(1).Visible = xlVeryHidden」
というコードで、1枚目のワークシートを、Excel側から再表示できない非表示シートにできることをご紹介しました。

VBA(Visual Basic for Applications)のコードから、VisibleプロパティにxlVeryHiddenを設定しているわけですが他にも方法があります。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「Excel VBA シート 再表示させたくない」
という検索が行われていました。

Excelでシートを再表示させないようにする方法を探している方による検索です。

Excelで業務用のちょっとしたアプリケーションを作っていると、いろいろな要望が出てきます。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「エクセル 隠しシート 削除する 方法」
という検索が行われていました。

2003までのExcelの場合はメニュー[書式]-[シート]-[表示しない]から、シートを非表示にすることができます。

Excel 2007・2010の場合はシート見出し上で右クリックして表示されるショートカットメニュー[非表示]を利用するのが便利でしょう。

その非表示となっているシートを削除する方法を探している方による検索です。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「シートの順番を逆転させるマクロコード」という記事で、Excelファイルの全シートの順番を、逆の順序に並び替えするVBA(Visual Basic for Applications)マクロが紹介されています。

こちらのマクロでは、全シートを並び替えているわけですが、一部のシートだけを並び替えたいという要望も実務では出てくるな、と感じたのでそんなマクロを作ってみました。

続きを読む

対象:Excel2003, Excel2007, Excel2010

VBA(Visual Basic for Applications)でマクロなどを作成しはじめた頃に、ぶつかる壁がいくつかあります。

その一つがダブルクォート・ダブルクォーテーションの入力です。

VBAでは、文字列をダブルクォートで括るのが大原則の一つとしてあるため、ダブルクォートそのものを文字列として扱うにはどうすればいいのか戸惑うわけです。

結論から言うと、ダブルクォートそのものを文字列として扱うためには、「""」とダブルクォートを2つ並べます。

VBAのコードの中でダブルクォートを「""」と2個並べておくと、実際には文字列としてのダブルクォート「"」1個が入力されることになります。

続きを読む

対象:Excel2003, Excel2007, Excel2010

乱数を発生させるマクロをご紹介しました。

For Each ~ Nextループ文の中でRnd関数を使って乱数を発生させているだけのシンプルなマクロです。

このマクロでは重複した値が生成される可能性がありますが、重複しないランダムな数値・乱数が欲しいということも、よくあります。

続きを読む

対象:Excel2003, Excel2007, Excel2010

実務で、たくさんのシートの含まれているExcelファイルを扱っていると、アクティブなシートだけを残して、他のシートをすべて削除したい、と感じるような場面があります。

続きを読む

対象:Excel2003, Excel2007, Excel2010

実務では、ワークシートの名前を、ブック名(ファイル名)と同じにしたいということがあります。

ブックの数が少なければ、手作業で変更したとしても、それほど大変ではありませんが、ブックが大量にあるとかなり面倒です。

続きを読む

対象:Excel2003, Excel2007, Excel2010

ランダムな整数をセルに入力するマクロや、ランダムな日付を入力するマクロをご紹介してきました。

テストデータ・サンプルデータを作る場合、指定した文字列をランダムに入力するというマクロが欲しくなるということもあります。

例えば、
 愛実
 明日香
 亜美
 彩佳
というような人の名前を、ランダムにセルに入力したいという要望をいただくことがあります。

続きを読む

対象:Excel2003, Excel2007, Excel2010

「エクセル 数式を文字列に変換」
という検索が行われていました。

このサイト・インストラクターのネタ帳では、Excelのセルに数式を表示する系の以下のような記事をご紹介してきました。


単純に表示するだけでよければ、これらの記事を参考にしてください。

続きを読む

対象:Excel2003, Excel2007, Excel2010

パソコンインストラクターの方や、プログラマーの方だと、サンプルデータ・テストデータの類が必要になることがあります。

いろいろなタイプのデータが必要になるもので、ランダムな、ある程度の量の、日付データもよく求められるものの一つでしょう。

続きを読む

対象:Excel2003, Excel2007, Excel2010

乱数を発生させるVBA(Visual Basic for Applications)マクロをご紹介しました。

このようなコードをご紹介すると、
「Randomizeって何をするものですか?」
「Randomizeステートメントとは何なのですか? 」
といったご質問をいただくことがあります。

続きを読む

対象:Excel2003, Excel2007, Excel2010

このサイト・インストラクターのネタ帳で
「VBA 乱数」
「乱数 マクロ」
といった検索が行われていました。

VBA(Visual Basic for Applications)で、乱数を発生させるマクロについて調べている方による検索です。

続きを読む

対象:Excel2003, Excel2007, Excel2010

Excelで業務用のワークシートを作成していると、いろいろな要望が出てきます。

ワークシート上で、ユーザーが操作できる範囲を限定したい、固定したいという要望もその一つです。

続きを読む

対象:Excel2003, Excel2007, Excel2010

並べ替え機能を使って、一行おきに空白行を挿入する方法をご紹介しました。

Excelの並べ替え機能について理解していれば、VBA(Visual Basic for Applications)をご存知ない方でもできてしまうところが最大の利点です。


ModelSimのXE IIIソフトウェアを使用する方法

続きを読む

対象:Excel2003, Excel2007, Excel2010

セルの先頭や末尾に入っている改行を削除するためのユーザー定義関数をご紹介しました。

印刷時に文字が切れてしまわないようにするために、逆に、セルの末尾に必ず改行を入れておきたいという要望が出ることもあります。

Excelから他のシステムにデータを渡す場合に、セルの最後に改行を入れておいて欲しいという要望が出ることもあります。

続きを読む

対象:Excel2003, Excel2007, Excel2010

他の人の作成したExcelファイルを扱っていると、いろいろな要望が出てきます。

このデータがなぜ同じセルに入っているのかと思うことがあれば、なぜこれらのデータが別々のセルに入っているのかと思うこともあります。

私が最近、扱わせていただいているExcelでは、別のセルになっているけれども、後の処理を考えると同じセルになっているほうがありがたいデータがあります。

続きを読む

対象:Excel2003, Excel2007, Excel2010

実務でExcelのデータを別のシステムに渡す場合には、いろいろな前処理が必要になります。

複数のセルの先頭に、同じ文字列を追加したいという要望も、よく必要とされる処理一つでしょう。

続きを読む

対象:Excel2003, Excel2007, Excel2010

Excel 2010でユーザー設定リストを登録する方法をご紹介しました。

Excel 2010では、[Excelのオプション]ダイアログ-[詳細設定]を選択して、一番下までスクロールしなければいけない点が、ちょっと便利ではありません。

VBA(Visual Basic for Applications)を使える方なら、VBE(Visual Basic Editor)のイミディエイトウィンドウで一行コードを実行して表示するほうが簡単じゃないだろうか、と考える方もいらっしゃるかもしれません。(いや、私自身がそう考えたわけですが...)

で、実際に試してみましたところ、すごく簡単とは言いにくい結果なのですが、自分用の備忘録的意味も込めて、ご紹介しておきます。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

XLSTARTフォルダについてと、XLSTARTフォルダのパスについて記事にさせていただきました。

VBA(Visual Basic for Applications)を使える方なら、簡単にXLSTARTフォルダのある場所、XLSTARTフォルダのパスを調べることもできます。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

入力規則を設定して、ドロップダウンリストから選択してデータ入力できるようにするTipsは、業務用ワークシートを作成している方にとても人気があります。

この入力規則のリストを利用している方から、
「リストに設定してある項目を調べる方法はないのでしょうか」
といった相談をいただくことがあります。

[データの入力規則]ダイアログで、リストにどのような値が設定されているのかを知るためには、[データの入力規則]ダイアログを表示して確認する必要があります。

しかし、入力規則の設定されているセルが大量に存在する場合、いちいち[データの入力規則]ダイアログを表示して確認するというのは、かなり面倒な作業です。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

このサイト・インストラクターのネタ帳で
「VBA セルの色設定ダイアログ表示方法」
という検索が行われていました。

VBA(Visual Basic for Applications)で、[セルの書式設定]ダイアログの、2007以降のExcelなら[塗りつぶし]タブ、

2003までなら[パターン]タブ

を表示させる方法を探している方による検索です。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

Excelでセルの結合を行うと、よろしくない現象がいろいろ発生するので、私個人としてはセル結合を利用することはほとんどありません。

セル範囲の中央に文字列を簡単に表示するために[セルを結合して中央揃え]ボタンを利用する方が多いと思いますが、その場合、[選択範囲内で中央]を指定すればいいはずなのです。

しかし現実としては、セル結合に関連するご質問や要望をいただくことは、少なくありません。

もっとも多いのがセルを結合するショートカットキーでしょう。

セルを結合するそのままのショートカットキーは用意されていませんが、2003までのExcelなら[セルの結合]ボタンをツールバーに作成してボタンのテキストを表示するという方法で、Excel 2007・2010ならクイックアクセスツールバーに[セルの結合]ボタンを作成することで、アクセスキーをショートカットキーもどきとして使うことができます。

ショートカットキーについで多いのが、セルを結合するときにデータも一緒にマージできないのか、といったご質問・要望です。

データの入力されている複数のセルを結合しようとすると
「選択範囲には複数のデータ値があります。1つのセルとして結合すると、選択したセル範囲にある最も左上端にあるデータのみが保持されます(空白セルは無視されます)。」
といったメッセージが表示され、そのまま結合を実行すると左上端セルのデータだけが残ります。

これを、左上端のデータだけでなく、すべてのデータを残して、データをマージしてセル結合をしたいという要望をいただくことがあります。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

このサイト・インストラクターのネタ帳で
「VBA 今日の日付」
「VBA TODAY ない」
といった検索が行われているのに気づきました。

Excelをある程度使える方で、VBA(Visual Basic for Applications)に挑戦しはじめた方による検索でしょう。

Excelのワークシート関数がある程度使えるようになり、VBAに挑戦しはじめた方が戸惑うポイントの一つが、関数名の違いです。

今日の日付を取得する関数の違いは、その代表的なものの一つです。

今日の日付を返すExcelのワークシート関数といえば、TODAY関数ですが、VBAの場合Todayといった関数はありません。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

「エクセル すべてのシート 再表示」
「Excel 全ワークシート 表示する方法」
といった検索を見かけることがあります。

このサイト・インストラクターのネタ帳では非表示のシートをまとめて表示するマクロを既にご紹介しています。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

実務でExcelを使っていると、複数の列に入力されているデータを1列にまとめたいということが、結構あります。

そんなとき、ひたすらコピー・アンド・ペーストを繰り返したり、ドラッグ・アンド・ドロップを繰り返すといった操作をしている方が少なくないと思います。

データ量がそれほどなければ、手作業でもいいのでしょうが、データが多いときに手作業で複数の列を一つにまとめるというのは、かなり面倒な作業です。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

「エクセル 重複データ削除 マクロ」
「Excel 重複しないリスト作成 マクロ」
といった検索が、このサイト・インストラクターのネタ帳で行われているのを見かけることがあります。

重複データを削除するマクロ、元データから重複しないデータだけのリストを作成するマクロを探している方の検索です。

Excelではフィルタ機能を使って重複データの削除、重複しないリストの作成ができます。

2003までのExcelならメニュー[データ]−[フィルタ]−[フィルタオプションの設定]から、Excel 2007・2010なら[データ]タブ−[データツール]グループ−[重複の削除]ボタンから操作することで重複データを削除できます。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

このサイト・インストラクターのネタ帳で、
「エクセル 値 残す 計算式 消す マクロ」
「値を残して数式を削除するマクロ」
といった検索が行われていることがあります。

計算結果を残して、数式・計算式を削除するVBA(Visual Basic for Applications)マクロを探している方の検索でしょう。

ループ処理で順番に数式を探してその結果を同じセルに張り付ければいいんだろう、と考えてしまう方もいらっしゃるかもしれませんが、そんな処理は一切必要ありません。

わかってしまうと驚くほど単純なコードで、計算結果を残して数式を削除するマクロはできてしまいます。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

「エクセル マクロ 空白行削除」
「Exce VBA 空白の行 削除方法」
といった検索が行われているのを見かけることがあります。

Excelで空白行を削除するVBA(Visual Basic for Applications)マクロを探している方の検索です。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

「VBA Excel 最大行数 取得方法」
といった検索がこのサイトで行われていることがあります。

VBA(Visual Basic for Applications)で、Excelの最大行数を取得する方法を探している方の検索です。

ワークシートのサイズは2003までのExcelの場合65,536行×256列でしたが、Excel 2007からは1,048,576行×16,384列となっています。

VBAでマクロを作成する場合に、ワークシート上に作成した表の最終行を選択するために
「Cells(65536, 1).End(xlUp).Select」
といった、非常によく使われるコードがあります。

2003までのExcelの場合は「65536」と直接入力されている
「Cells(65536, 1).End(xlUp).Select」
で問題ありませんでしたが、Excel 2007以降で大きな表を作成しているような場合、このコードでは表の最終行を取得できなくなってしまいました。

続きを読む

対象:Excel2002, Excel2003, Excel2007, Excel2010

「エクセルで一行おきに行を削除するにはどうしたらいいのでしょうか?」
実務でExcelを使っている方からよくいただくご質問の一つです。

[Ctrl]キーを使って削除したい行を選択したり、データベース機能を使って一行おきに行を削除することもできますが、一行おきの行削除が頻繁に必要な場合、これらの操作では手間がかかって仕方ないということもあります。

こんなときにはVBA(Visual Basic for Applications)で、マクロを作ってしまいましょう。

続きを読む

対象:Excel2007

Access 2007で、「DoCmd.ShowToolbar "Ribbon", acToolbarNo」というコードを実行してやれば、リボンを非表示にできることをご紹介しました。

Excel 2007でもリボンを非表示にしたいという要望はもちろん出てきます。

リボンの制御はXMLファイルを編集してやるのが、おそらく正当な方法なのですが、裏技的な方法でリボンを非表示にすることもできます。

続きを読む

対象:Excel2002, Excel2003, Excel2007

「エクセルで四捨五入するには?」
というのは、Excel初心者の方からいただく、基本的なご質問の代表的なもののひとつです。(Excelのワークシート上で四捨五入をする関数はROUND関数です。)

四捨五入については、VBA(Visual Basic for Applications)を利用してらっしゃるレベルの方からご質問をいただくこともあります。
「VBAで四捨五入をするにはどうしたらいいのでしょうか?」
といったご質問です。

「そんなのRound関数でしょ!」
と思ったVBAユーザーの方、それは本当ですか?
VBAのRound関数の仕様をちゃんと確認しましたか?

VBAの
「Round(2.5,0)」
の結果を「3」だと思ってらっしゃいませんか?

ワークシート関数の
「ROUND(2.5,0)」
なら「2.5」の小数点以下第1位を四捨五入して
「3」ですが、
VBAの
「Round(2.5,0)」
は「3」ではなく「2」なのです。

続きを読む

対象:Excel2002, Excel2003


利用可能な最新のオフィススイートソフトウェアは何ですか

VBA(Visual Basic for Applications)で、メニューをカスタマイズする方法をいろいろご紹介してきました。


メニューバー内でのカスタマイズではなく、メニューバー自体を非表示にしたいといった要望をいただくこともありますのでご紹介しておきます。

続きを読む

対象:Excel2002, Excel2003, Excel2007

「オートフィルタ 一括解除方法」
といった検索が行われていることがあります。

複数のワークシートにオートフィルタを設定した場合に、ひとつひとつ解除作業をするのを面倒に感じた方の検索でしょう。

残念ながら、複数シートのオートフィルタ一括解除機能は、標準では用意されていません。

作業グループを設定しておいてオートフィルタの解除を行おうとしても、コマンド自体が使用不可の状態になり、一括解除することはできません。

続きを読む

対象:Excel2002, Excel2003, Excel2007

シートの一部を操作できないようにする[シートの保護]機能は、複数の人が同じシートを操作するような場合に重要な機能の一つです。

このサイトではシートの保護について以下のようなネタをご紹介しています。


このシートの保護機能について
「シート保護 一括解除」
といった検索がこのサイトで行われているのを見かけることがあります。

続きを読む

対象:Excel2002, Excel2003, Excel2007

イミディエイトウィンドウからOfficeのインストールされているパスを調べる方法をご紹介しました。

Officeのインストールされているパスではなく、開いているファイルのパスを調べたいということもよくあります。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

このサイトのColorIndexプロパティ値を一覧にしたページは、トップ10にこそ入ってきませんがなかなかの人気ページです。

この一覧を見て、ワークシートで使われているColorIndexを調べるといった使い方をしている方もいらっしゃるようですが、VBA(Visual Basic for Applications)を使いこなしているレベルの方なら、ColorIndexを調べることは難しくありません。

続きを読む

対象:Excel2000,Excel2002,Excel2003,Excel2007

VBA(Visual Basic for Applications)を使ってふりがなを設定・表示する方法をご紹介しています。


逆に、VBAでふりがなを削除するにはどうしたらいいのかといったご質問をいただくこともあります。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

このサイトでは、[形式を選択して貼り付け]ダイアログを使ってハイパーリンクをまとめて削除できることをご紹介しています。

VBA(Visual Basic for Applications)を使いこなしているレベルの方なら、他にも簡単にハイパーリンクを一括で削除する方法がありますので、ご紹介しておきます。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

ワークシートを挿入するとき、どんな操作をしてらっしゃいますか?

2003までのExcelなら、メニュー[挿入]−[ワークシート]からワークシートを挿入できます。

Excel 2007なら、[ホーム]タブ−[セル]グループ−[挿入][▼]ボタン−[シートの挿入]や、[ワークシートの挿入]タブから挿入できます。

シート見出しの上で右クリックして表示されるショートカットメニューから[挿入]を選ぶという方もいらっしゃるでしょう。

ショートカットキー:[Shift]+[F11]を使うという方もいらっしゃるでしょう。

様々な方法でワークシートを挿入できるわけですが、ワークシートの挿入直後にどんな操作をしてらっしゃいますか?

シート挿入直後に、挿入されたばかりのワークシートを移動している方が、結構いらっしゃるんじゃないでしょうか。

元々アクティブだったシートの右側に、新しく挿入したワークシートを移動している方が少なくないんじゃないかと、私は思っています。

Excelでは様々な方法でワークシートを挿入できるのですが、なぜかアクティブなシートの右側にワークシートを挿入するコマンドは用意されていません。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

名前を付けて保存ダイアログにアクティブセルの値を表示するマクロをご紹介しました。

似たようなことですが、実務ではアクティブシートの名前をファイル名にして保存するといったこともあります。

そのため、[名前を付けて保存]ダイアログの[ファイル名]に、アクティブなシートの名前がデフォルト表示された状態で[名前を付けて保存]ダイアログが表示したい、といった要望をいただくこともあります。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

アクティブセルの値を[名前をつけて保存]ダイアログに表示するマクロをご紹介しました。

似たようなことですが、アクティブセルの値をワークシート名にしたい、という要望をいただくこともあります。

続きを読む

対象:Excel2000, Excel2002, Excel2003, Excel2007

「名前を付けて保存をしたときに、アクティブセルの値がファイル名になるようにできないのでしょうか?」
といったご質問をいただくことがあります。

お仕事の内容によっては、大量のExcelファイルを作成するなんていうことがあり、その保存作業時にいちいちファイル名を手入力するのが面倒と感じる方からいただくご質問です。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

VBA(Visual Basic for Applications)でマクロを作成していると、VBE(Visual Basic Editor)を開いて、該当するコードを表示するという作業が頻繁に発生します。

そんなときどんな操作でマクロコードを表示してらっしゃいますか?

VBEを表示しておいてから探すという方が多いと思いますが、マクロ名(プロシージャ名)が間違いなくわかっていれば、Excel側から簡単にマクロのコードを表示することができます。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

ファイル名・ワークブック名を取得するユーザー定義関数をご紹介しました。

この方法を知った方から、
「拡張子なしでファイル名をセルに表示するにはどうしたらいいのでしょう?」
というご質問をいただくこともあります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

VBA(Visual Basic for Applications)でメニューをカスタマイズする方法をご紹介してきました。


これまでご紹介したのは、標準のメニューバー上のメニュー項目はそのままでカスタマイズする方法でした。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

VBA(Visual Basic for Applications)でメニューをカスタマイズする方法について、何度かご紹介しています。

これまでご紹介しているのは、メニューの直下にコマンドを表示する方法でしたが、カスタマイズしたメニューにサブメニューを表示させ、その下にコマンドを表示することもできます。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

VBA(Visual Basic for Applications)で、メニューバーを操作する方法をご紹介してきました。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

メニューをカスタマイズするマクロをご紹介しました。

実際に試してみた方はお気づきのはずですが、あのマクロにはちょっとした問題があります。

CustomizeMenuBarマクロを複数回実行すると、実行した回数分のメニュー項目が追加されてしまうのです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

VBA(Visual Basic for Applications)で、メニューバーを元の状態に戻す方法をご紹介しました。

このコードが必要なのは、もちろんメニューバーがカスタマイズされているなど、特殊な状況のときです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

「Excelでメニューを元の状態に戻すにはどうしたらいいのでしょうか?」
というご質問をいただくことがあります。

このご質問をいただく状況はいろいろあるように感じます。

VBA(Visual Basic for Applications)を使ってオリジナルのメニューを作成しようと仕様を考えている段階、どこかで拾ってきたマクロを実行しているうちにメニューバーを変更するようなコードを実行してしまい一部のコマンドが表示されなくなってしまったようなケース、など。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

Excelユーザーで、VBA(Visual Basic for Applications)に触れ始めた方から時々いただく疑問・質問があります。
「VBAの関数とワークシート上で使える関数はなぜ違うのですか?」
というご質問です。

例えば、
今日の日付を取得するのは、
VBA関数の場合は「Date」ですが、
ワークシート関数では「TODAY」です。

日付の間隔を取得するのは、
VBA関数の場合は「DateDiff」ですが、
ワークシート関数では「DATEDIF」です。
(よく似ていますが、最後の「F」の数が違います。)

厄介なことに同じスペルで似たような動作をするのに実は違うものもあります。
VBA関数の「Round」は丸めを行いますが、
ワークシート関数の「ROUND」は四捨五入を行います。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

VBE(Visual Basic Editor)をあちこちいじっているような方から、
「funcresパスワードというのは何を入力すればいいのでしょうか?」
「パスワードを設定したつもりはないのに、funcres(FUNCRES.XLA)を開こうとするとパスワードを要求されるのですが...?」
というご質問をいただくことがあります。

続きを読む

対象:Office97,Office2000,Office2002,Office2003

誤字・表記ゆれに関するするネタを何度かご紹介してきました。

他にもそんな語句がいくつかあり、Visual Basic for Applicationsの略称「VBA」も、そんな間違えられることのある語句の一つです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

Excelを実務で利用している方の中に、絶対参照にする必要のないセル参照を、相対参照のままにしておく方と、絶対参照にしたがる方とが存在します。

絶対参照はセル参照を含む数式の入力されているセルをコピーをしたときに、参照先セルを変更したくないときに利用する参照方式ですから、セルのコピーをしないような場合、絶対参照にする必要はなく相対参照のままで問題ありません。

けれども、すべてのセル参照を絶対参照にしておきたいという方が、時々いらっしゃいます。

数式を入力したワークシートを作成後、相対参照・絶対参照を理解していない方に利用してもらう場合に、不用意にセルの移動やコピーをされることによってエラーが発生するのを極力回避したいというという気持ちなどから、セル参照をすべて絶対参照にしておきたいという要望となるようです。

数式入力中に参照方式を変更するには、[F4]キーを押せばいいわけですが、数式の入力済みの場合、数式バーやセル内にカーソルを置いてから[F4]キーを押さなければ、相対参照を絶対参照にすることはできません。

数式の入力されているセル範囲を選択しておいて[F4]キーを押しても相対参照は絶対参照にはなりません。

そのため
「すべての相対参照を絶対参照にするにはどうすればいいのでしょうか?」
というご質問をいただくことになります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

「FUNCRES.XLAとは何ですか?」というご質問に関連したネタをご紹介しました。


無料のツールバーを削除する方法

とてもよく似た内容で
「WZTEMPLT.XLAとは何ですか?」
というご質問をいただくこともあります。

VBE(Visual Basic Editor)のプロジェクトエクスプローラに、
「wztemplt(WZTEMPLT.XLA)」
という項目が表示されることがあるためです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

マクロとイベントプロシージャで、セル結合をショートカットキーでできるようにする方法をご紹介しました。

もう一工夫すれば、セルが結合されている場合同じショートカットキーで、セル結合の解除を行うこともできます。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

セル結合をキーボードで行う方法に関してネタをいくつかご紹介してきました。


ツールバー上のボタンにアクセスキーを表示させ、そのアクセスキーを利用すれば、擬似的なショートカットキーとして利用できるということです。

ですが、これらの[Alt]キーを使った操作は厳密な意味でのショートカットキーではないので、ツールバーが表示されていなければ利用できません。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

PERSONAL.XLSとはどういうファイルなのか、についてご紹介しました。

もう一つPERSONAL.XLSファイル関連でいただく質問と言えば、
「『PERSONAL.XLSは編集中のためロックされています。』とは何ですか?」
というご質問でしょう。

「同じ名前のファイルを開く」というネタでご紹介したように、Excelは複数起動することができます。

Excelを複数起動する際にPERSONAL.XLSファイルが存在していると
「PERSONAL.XLSは編集中のためロックされています。
使用者は'xxxxx'です。
[読み取り専用]で開くか、または、読み取り専用で開き、ほかの人がファイルの使用を終了したときに通知を受け取るには、[通知]をクリックします。」
というメッセージの表示された[使用中のファイル]ダイアログが表示されます。

[使用中のファイル]ダイアログには、[読み取り専用][通知][キャンセル]の3つのボタンがあり、このダイアログと3つのボタンは何を意味しているのか、どうすればいいのかということでご質問いただきます。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

VBA(Visal Basic for Applications)でコーディングしている方などから、
「PERSONAL.XLSとは何ですか?」
とういうご質問をいただくことがあります。

「PERSONAL.XLS」という文字列を見かける箇所はいくつかありますが、VBAのコーディングしている方がもっともハッキリ目にする場所と言えば、VBE(Visual Basic Editor)のプロジェクトエクスプローラです。通常VBEの画面左の方に表示されるツリー状のビューがプロジェクトエクスプローラで、ここに「VBAProject (PERSONAL.XLS)」という表示があります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

プログラミングを勉強しはじめた人の最初の難関は、変数。
その次の難関はループ処理でしょうか。

ループ処理にについて勉強している方から、
「Nextの後ろに変数がある例とない例があるのですが、何か違いがあるのでしょうか?」
といったご質問を受けることがあります。

例えば「3」「2」「1」「0」と順番にメッセージボックスを表示するような場合、

For intLoop = 3 To 0 Step -1
 MsgBox intLoop
Next intLoop

↑のような例と、↓のような例をみかけます。

For intLoop = 3 To 0 Step -1
 MsgBox intLoop
Next

違いは「Next」の後ろに変数「intLoop」があるかどうかです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

Excelで定義した名前を削除する方法をご紹介しました。

この操作を知った方から
「定義された名前をすべて簡単に削除できないのでしょうか?」
「名前を一括して削除することはできませんか?」
といったご質問をいただくことがあります。

名前をすべて削除するには、メニュー[挿入]−[名前]−[定義]をクリックして表示された[名前の定義]ダイアログで、名前を選択して[削除]ボタンをクリックする操作を何度も繰り返す必要があるためです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

印刷プレビューの点線を非表示にするマクロをご紹介しました。

DisplayPageBreaksプロパティをFalseにして非表示にするだけのマクロなわけですが、この方法を知った方から
「非表示だったら表示に、表示されていた場合は非表示にするマクロにするには、どうすればいいのでしょう?」
といったご質問をいただくこともあります。

プログラミングにまだ慣れていないという方だと、以下のようなマクロを作成してしがいがちでしょう。

Sub ToggleDispPageBreaks()
 With ActiveSheet
  If .DisplayPageBreaks = True Then
   .DisplayPageBreaks = False
  Else
   .DisplayPageBreaks = True
  End If
 End With
End Sub

If文を使って、DisplayPageBreaksプロパティがTrueだったらDisplayPageBreaksプロパティをFalseにして、そうでなければ(即ちFalseならば)Trueにするという処理をそのまま記述したわけです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

初期状態のExcelでは、印刷プレビューや改ページプレビューを実行すると、ワークシート上に改ページ位置を示す点線(破線)が表示されます。

[オプション]ダイアログ−[表示]タブ−[改ページ]チェックボックスをOffにすることで、この点線が表示されないようになることをご紹介しました。

この方法を知った方から、
「[オプション]ダイアログの設定は変更せずに、点線を非表示にすることはできないのでしょうか?」
というご質問をいただきました。

続きを読む

対象:Exce97,Excel2000,Excel2002,Excel2003

これまでマクロをいくつかご紹介してきました。


作成したマクロの実行方法はいろいろありますが、もっとも基本的な操作はメニュー[ツール]−[マクロ]−[マクロ]をクリックして表示される、[マクロ]ダイアログで実行したいマクロを選択しておいて[実行]ボタンをクリックしたり、実行したいマクロ名をダブルクリックするという操作です。

しかしこの方法は、頻繁に使うマクロではちょっと面倒です。

ドロップダウンメニューからサブメニューを表示させなければいけない点、複数のマクロが存在している場合[マクロ]ダイアログにはたくさんのマクロが表示されてしまう点などが、頻繁に利用するマクロの場合面倒に感じるはずです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

複数のシートに一括操作を行う作業グループは便利な機能です。

同じ文字列を入力したり、書式設定をしたりする際には非常に役立ちます。
ですが、一括操作できてもよさそうなのに、設定できないものもあります。

ウィンドウ枠の固定です。

同じフォーマットのワークシートが並んでいる場合、全てのワークシートでウィンドウ枠を固定したいという気持ちになると思います。そんなときに作業グループを設定しておいて、メニュー[ウィンドウ]−[ウィンドウ枠の固定]コマンドを実行したものの、結局アクティブなシートしかウィンドウ枠が固定されなくて、ガッカリした方もいらっしゃるのではないでしょうか。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

VBA(Visual Basic for Applications)でワークシート関数を利用できることをご紹介しましたが、VBE(Visual Basic Editor)のヘルプ「Visual Basic で使用できるワークシート関数一覧」を元に、ワークシート関数の中でVBAで利用可能な関数を一覧にまとめておきます。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

最近のMS Officeのマクロは、VBA(Visual Basic for Applications)を使って記述します。

VBAは文法的には、プログラミング言語VB(Visual Basic)と同じなので、VBがわかる人ならVBAはすぐに使えますし、VBAがちゃんとわかっている方ならちょっと勉強するだけでVBを使いこなせるようになります。

そんな兄弟関係にあるVBとVBAですが、VBAの方が便利な点と言えば、VBAのAの部分、「for Applications」の部分でしょう。

つまり、Word・Excel・PowerPointといった各Officeアプリケーションの特長的な部分を利用できる点が、VBAのVBに対する優位性としてあげられると思います。

Excelの特長的な機能というのはいろいろありますが、ワークシート関数はその一つです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

Excelを使って実務で資料作成をしていると、ワークシートの整理整頓をする処理が必要になることが少なくありません。

このサイトでは、ワークシートの整理に役立つ以下のようなVBAマクロをご紹介してきました。


ワークシートの整理という観点では、データの存在しないワークシートをすべて削除したい、という要望もよくいただきます。

続きを読む

対象:Excel97, Excel2000, Excel2002, Excel2003

VBA(Visual Basic for Applications)を使って、マクロを組む場合によく必要とされる処理として確認メッセージの表示/非表示を切り替えがあります。この切り替えを行うためのDisplayAlertsプロパティについてご紹介しました。

同じくらい必要とされる処理として、画面更新の停止があります。

ExcelのVBAマクロでは、
 ワークシートの挿入/削除
 アクティブワークシートの切り替え
 データのコピー
といった処理がよく行われますが、画面更新を停止していな場合にはそれらの処理が行われる様子が、画面にすべて表示されます。

マクロ実行時の画面表示はかなりのスピードで行われるので、肉眼ですべてを確認するのは難しいかもしれませんが、処理が完了するまで画面がチラチラし続ける状態は見ることができるはずです。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

ExcelでVBA(Visual Basic for Applications)を使い、業務アプリケーションを作り始めるとよく出てくる処理があります。

ワークシートの削除です。

アクティブなワークシートの削除をするのならば、
「ActiveSheet.Delete」
というステートメントを記述します。

1枚目のシートを削除するのならば、
「Worksheets(1).Delete」
というステートメントです。

決して難しい記述ではありませんが、こういったステートメントを記述したマクロを実行すると必ずいただく質問があります。

「確認のメッセージを出さないようにすることはできないのでしょうか?」
というご質問です。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

ファイル・ワークブックが開かれているかチェックするFunctionプロシージャをご紹介しました。

同様に、ワークシートが存在するかチェックをしたい場合もあります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

VBA(Visal Basic for Applications)でコーディングをはじめたばかりの方から、
FUNCRES.XLAというのは何でしょうか?
というご質問をいただくことがあります。

続きを読む

対象:Excel 97,2000,2002,2003

CurrentRegionプロパティを使って、アクティブセル領域を選択する方法をご紹介しました。

複数のワークシートを1枚のシートにまとめる処理をコーディングする場合、1枚目のシートのデータをコピーする際は「Range("A1").CurrentRegion.Select」ステートメントで問題ありませんが、2枚目以降のシートでは見出し行が余分ですから、見出し行を除いたリスト範囲を選択する必要が出てきます。

続きを読む

対象:Excel 97,2000,2002,2003

複数のワークシートを1枚のシートにまとめるために、CurrentRegionプロパティを使って、アクティブセル領域を選択する方法をご紹介しました。


「Selection.Copy」ステートメントで選択範囲のデータをコピーしたら、次に必要なのが、データの貼り付け先を見つける処理です。

続きを読む

対象:Excel 97,2000,2002,2003

Excelのよくいただく質問でマクロを組まないと実現できないものと言えば、
「複数のシートを1枚のシートにまとめるにはどうすればいいのでしょう?」
です。

Excelをデータベースとして利用する際に、データ入力の段階でシートを分けてしまい、後から集計をしたり、全てのデータを利用して宛名ラベルを作成するような業務が発生したときに、この「シートをまとめるには」というご質問を、非常によくいただきます。

続きを読む

対象:Excel 97,2000,2002,2003

VBA(Visual Basic for Applications)を使って、帳票印刷を含むような業務アプリケーションを作成する場合、罫線を引く処理が必要になります。

その際、罫線を引く位置を指定するためにXlBordersIndexクラスの定数を指定するわけですが、ヘルプには以下のような記述があります。
「使用できる定数は、XlBordersIndex クラスの定数 xlDiagonalDown、xlDiagonalUp、xlEdgeBottom、xlEdgeLeft、xlEdgeRight、xlEdgeTop、xlInsideHorizontal、xlInsideVertical のいずれかです。」

続きを読む

対象:Excel 97,2000,2002,2003

Excelで凝った業務アプリケーションを作る場合、FuncutionプロシージャやSubプロシージャの数は必然的に増えていきます。

そんなとき、プロシージャからだけ利用したいFunctionプロシージャというのができることがあります。

[関数の挿入]ダイアログに表示されないようなFunctionプロシージャです。

続きを読む

対象:Excel 97,2000,2002,2003

ワークブック名をセルに表示させるために、ワークシート関数を駆使する方法と、ユーザー定義関数を利用する方法をご紹介しました。

他にもブック名をセルに表示させる方法があります。

続きを読む

対象:Excel97,Excel2000,Excel2002,Excel2003

これまでこのサイトでいくつかのマクロをご紹介してきました。

  • ワークシート名一覧を作成したい
  • 非表示シートをまとめて表示したい
  • シートを並べ替えたい
  • マクロでフリガナをふる

  • 登録したマクロを実行する方法はいろいろありますが、頻繁に使うマクロの場合に便利なのはショートカットキーでしょう。

    続きを読む

    対象:Excel2000,Excel2002,Excel2003

    ふりがな(読み)の情報を保持していないデータに対して、マクロを使ってふりがなを設定する方法をご紹介しました。

    その最後で、マクロを作っておかなくてもふりがなを設定することができることを示唆しておきましたが、その方法をご紹介しましょう。

    続きを読む

    対象:Excel2000,Excel2002,Excel2003

    Excelのふりがなに関連するネタを何度かご紹介してきました。


    特にExcelをデータベースとして使う場合に、ふりがなは重要かつ便利な機能です。
    けれども、Excel上で入力が行われたときの読みをふりがなとして保持しているだけ、という問題点もあります。

    ふりがな(読み)の情報を持っていなければ、ふりがなは表示されないのです。

    実務の中では、他のデータベースから例えばCSVファイルをエクスポートし、ExcelでそのCSVファイルをインポートして利用するといったことはよくあります。

    こういったデータでは読みの情報は保持されていませんから、メニュー[書式]−[ふりがな]−[表示/非表示]を実行したところでふりがなは表示されません。

    続きを読む

    対象:Excel 97,2000,2002,2003

    「Excel 4.0 マクロとは」というネタで、[挿入]ダイアログにある[Excel 4.0 マクロ]アイコンについてご紹介しました。

    現在はVBE(Visuala Basic Editor)上で、VBA(Visual Basic for Applications)を使って記述して作成するマクロが、以前は違う方法で作成していて、そのときに利用していたのが、[挿入]ダイアログの[Excel 4.0 マクロ]を選択して挿入されるマクロシートであるということでした。

    ここでは、実際に4.0マクロをどのように記述し、どう実行するのかをご紹介します。

    続きを読む

    対象:Excel 97,2000,2002,2003

    残念ながら私は子育てというものをまだ行ったことがないので、実際に体験したことはほとんどないのですが、幼児というのはある段階になると、「これ何?」「どうして?」という質問をやたらとするようです。お母さん・お父さんという立場の人は、その質問攻撃にウンザリ・イライラさせられたということも少なくことでしょう。

    「これ何?」系の疑問を持つというのは幼児期に限ったことではなく、人が学習する過程で必ずあるものだと私は実感しています。パソコンのインストラクションをしていると、「これ何?」「どうして?」という疑問・質問を大人からもやっぱり浴びせかけられるのです。

    「これ何?」「どうして?」という疑問に対して、自分でどう対処できるかというのが、学習効率に大きな影響を与えるという印象があります。

    こだわっても仕方のないことに対して妙にこだわってしまう人、こだわるべき時期の見極めができないタイプの人というのは、短期的には学習効率は悪くならざるを得ないと感じています。(長いスパンで見たときにはわかりません。)

    また疑問を感じたときに、すぐ誰かに聞いてしまうか、少しでも自分で考えたり調べたりしようとするかによって、学習効果は大きく変わってきます。すぐ誰かに聞いてしまう場合、そのことが記憶に残る率は自分で調べたり考えたりする時間をとる場合にくらべ、かなり低下する印象があります。

    そして、こういった疑問に対する対処方法は、個人差が非常に大きいものだと感じます。

    疑問に対して上手く対処できるタイプの生徒さんと接しているときは、教える側も非常にワクワクします。とても刺激を受けます。教える立場の人間としては、疑問への対処が上手くないタイプの生徒さんをどう導くかというのが重要な仕事なはずですが、これが非常に難しい課題なわけです。更にはそもそも疑問を持たないタイプの生徒さんも、存在します。


    で、Excelのインストラクションをしているとよくいただく「これ何?」系の質問があります。

    シートを追加するときにシート見出しの上で右クリックし、ショートカットメニューから[挿入]を選択する方法があります。この操作によって表示される[挿入]ダイアログ−[標準]タブに、[Excel 4.0 マクロ]というアイコンがあり、「これは何ですか?」という質問をいただきます。

    続きを読む

    対象:Excel 97,2000,2002,2003

    シートの名前順で並べ替えをしたいのですがどうすればいいのでしょう?
    シートを自動的にソートすることはできないのでしょうか?

    大量にシートがあるブック(Excelファイル)を扱っている方から、よくいただく質問の一つです。

    シート見出しをドラッグアンドドロップすることで、シートの並び替えはできますが大量にシートがあるときに、一つずつ移動するのが面倒なので自動化できないか?ということです。

    続きを読む

    対象:Excel97, Excel2000, Excel2002, Excel2003

    シートを非表示にする方法と、非表示にしたシートを再表示する方法をご紹介しました。

    非表示になったシートがたくさんあるワークブックで、シートを再表示させるために、何度もメニュー[書式]−[シート]−[再表示]から[再表示]ダイアログを表示させ、シートを指定するのはかなり面倒です。

    続きを読む

    対象:Visual Basic for Applications

    変数名にデータ型がわかるようなプレフィックス(プリフィックス)をつける記述スタイルがありますが、どのデータ型のときにどんなプレフィックスをつけるか、Microsoftのサイトを元に一覧にまとめておきます。

    ちなみに、こういった記述方法をハンガリアン記法(ハンガリー記法)といいますが、このスタイルを考案したMicrosoftのプログラマ・Charles Simonyi氏がハンガリー出身だったことに由来するそうです。

    続きを読む

    対象:Excel 2003

    Office 2003で、ナビゲーションペインのついた状態のヘルプを表示させる方法をご紹介しました。

    ヘルプを通読したいという要望は、VBA(Visual Basic for Applications)のコーディングに慣れはじめた方からもよくいただきます。

    続きを読む

    対象:Excel97, Excel2000, Excel2002, Excel2003

    実務でExcelファイルを扱っていると、ワークシートの数が増えていきます。

    そうなると、
    「ワークシート名の一覧を作成したいのですが...」
    といった要望が出てきます。

    続きを読む

    対象:Excel97,Excel2000,Excel2002,Excel2003

    Excelの列番号は通常、「A」「B」「C」とアルファベットで表示され、「IV」列まであります。

    この列番号について、
    「列をアルファベットではなく、数字で表示させるにはどこを変更すればいいんでしたっけ?」
    というご質問をいただくことがあります。

    VBA(Visual Basic for Applications)でマクロを作成するようなときに、特に列方向にループ処理を行おうとするようなときに、列番号が数字で表示されているほうが便利だったりするためです。

    続きを読む

    対象:Excel

    マクロ機能はWordでもPowerPointでも使えますが、最も利用されているのはExcelでしょう。
    メニュー[ツール]−[マクロ]−[新しいマクロの記録]をクリックして、マクロの自動登録機能で勝手にマクロが作れてしまうことから興味を持ち、徐々にVBAを勉強していくというのが多くの人が辿る道です。

    作ったマクロを利用するにはいろいろな方法があります。
    [マクロ]ダイアログから実行する、ショートカットキーを割り当てておく、図形オブジェクトをクリックしたら呼び出されるようにする、メニューに追加する、シート上のボタンに登録するなど。

    その一つに、ツールバーにボタンを追加し、クリックするとマクロが実行できるようにするという方法があります。

    続きを読む

    対象:Excel

    先日、WorkbookオブジェクトのBuiltinDocumentPropertiesプロパティのLast save timeを使ってファイルの更新日時を表示させる方法をご紹介しました。

    BuiltinDocumentPropertiesプロパティには、Last save time以外にもいろいろなものがあるのですが、Excel 2000以降のヘルプではID番号と名前の対応関係がわかりにくくなっているので、一覧にしておきます。

    続きを読む

    対象:Excel

    VBA(Visual Basic for Applications)で色を指定するときには、ColorIndexプロパティやColorプロパティを使うわけですが、特にColorIndexの数値と実際の色の対応関係がわかりにくいので、ColorIndex順の一覧にしました。

    続きを読む

    対象:Excel

    マクロをすべて削除したはずのExcelファイルを開くときに、マクロを含んでいるという主旨のダイアログが表示されることがあります。

    続きを読む



    These are our most popular posts:

    任意のパスをマクロのアクション引数で使いたい --Access Club 超初心者 FORUM--

    ユーザー操作によって決まったパス(ファイル名まで含む)をマクロのアクション引数で 使いたいのですが、全くもって検討もつきません。 過去のログもみ ... もつきません。 どのマクロのどの引数ですか? ... 私がVC++で作成するツールでファイル(XXXX.mdb) のパスを取ってきてはいます。 そのファイルを別 .... VBAが全く素人なのでできれば VBAを使いたくなかったのですが使わなきゃ駄目のようですね・・・ モジュール内 ... read more

    Excel エクセルの使い方-マクロ/VBA - インストラクターのネタ帳

    VBA(Visual Basic for Applications)で、マクロ・ユーザー定義関数・イベント プロシージャなどをたくさん作り始めると、どのモジュールにどんな ..... VBA(Visual Basic for Applications)を使える方なら、簡単にXLSTARTフォルダのある場所、 XLSTARTフォルダのパスを調べることもできます。 ..... シートの一部を操作できないよう にする[シートの保護]機能は、複数の人が同じシートを操作するような場合に重要な 機能の一つです。 read more

    マクロを有効にする方法

    マクロを有効にする方法, 下の写真をクリックすると大きくなります。 1.はじめに 「健康 診断表」や「保健室来室記録」で右のような画面が出てきたら、マクロが有効になってい ません。そうすると、このまま作業を行っても、このソフトが持っている機能が全くといっ て ... read more

    Office TANAKA - Excel VBA講座:ファイルの操作[テキストファイルを ...

    VBAでマクロを作成していると、たまにテキストファイルへデータを書き込むと便利な ケースに遭遇します。たとえば、現在 ... Sample.txt」のようにパスをつけないで指定 すると、アクティブフォルダのファイルと認識されます。 ... これは、OS(Windows) に対する許可申請で「これ以降わたしは、このファイルのことを○番と呼びます」のような 取り決めです。 read more

    Related Posts



    0 コメント:

    コメントを投稿