2011年02月12日

関数の引数の省略 その2

ここでは関数の引数を「カンマ付きで省略すると0(または空白文字列)と見なされる」と書きましたが、どの関数についてもそうなるかのように言い切ってしまうのはまずかった、と気が付きました。

たとえばOFFSET関数で、第4引数「高さ」と第5引数「幅」にはそれぞれ1以上の整数を指定することになっており、0を指定すると#REF!エラーになります。
しかし、「高さ」の指定を省略してカンマを付け、「幅」を指定した場合は、0ではなく「現在の高さを維持する」という指定になります。

また、データベース関数のDCOUNTとDCOUNTAの第2引数「フィールド」では、通常は集計対象の列を指定しますが、この引数を省略すると(第3引数「条件」は必須)、条件に該当するレコード数が求められます。

このほか、統計関数や財務関数にも、途中の引数を省略すると、省略したなりの意味を持つものがあるようです。

結局、省略した引数が0と見なされるか空白文字列と見なされるか、それとも省略した場合の動作が設定されているのかは、それぞれの関数の仕様によって異なる、という当たり前といえば当たり前の結論なのですが……。
posted by 土屋和人 at 09:13| Comment(0) | TrackBack(0) | Excel

2011年02月11日

ThisDocument

ExcelのVBAでは、ApplicationオブジェクトにThisWorkbookプロパティというのがあり、そのコードを含むブックを表すWorkbookオブジェクトを返します。

WordのVBAでもたぶん同じようなものだろうと思い、よく調べもせずThisDocumentというキーワードを使ってコードを書いてみたところ、やはり同じようにコードを含むDocumentオブジェクトが取得できました。
それで、これもやはりApplicationオブジェクトのプロパティなのだろうと思い込んでいたのですが、最近いただいた問い合わせをきっかけに調べ直してみたところ、WordのApplication(Global)オブジェクトにはそんなプロパティはない(もちろんメソッドもない)、ということがわかりました。

続きを読む
posted by 土屋和人 at 13:19| Comment(0) | TrackBack(0) | Word

2011年02月02日

Amazonの「?」

以前、Amazonに新品の在庫がなくて中古品を定価の1.5倍ぐらいで買ったらすぐまた新品が出てた、というコメントをいただいたこの本ですが、どうやら今度こそ本当に在庫が切れて(要するに絶版^^;)、中古品が6000円ぐらいになっているようですね。



Amazonといえば、以前にもこんな事件がありましたが、この『Excel VBAパーフェクトマスター』でもすでに中古品が出品されていて、しかもまだ新品が出たばかりなのに値段が1万円以上って……(^^;)

それにしてもAmazonはよくよくこの本のことが嫌いらしく、よく見たらページ数も「97ページ」になってました。(本当はその後に「9」が付きます。念のため)
本当に97ページで3360円だったら、一体誰が買うんでしょうか?

さすがにすぐに修正されるのではないかと思う(中古品のほうは。ページ数のほうは……あまり期待できないかも)ので、ご覧いただくならお早めに。

※追記
同じ日の16時頃に見たら、中古本の情報はもうなくなってました。
せっかくネタにしたのに、まさかこんなに早いとは……(^^;)
posted by 土屋和人 at 06:51| Comment(0) | TrackBack(0) | 日常