アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBAのプログラムで、DIAG = 1# / A(L, L) や R(I) = 0# の数字1、0の後についている番号記号#は何を意味しているものでしょうか?

http://www.index-press.co.jp/books/excel/excel-0 …

の記事内にあるプログラムで使用されていますが、解説がありません。
調べてみましたがシャープと読まないことぐらいしかわかりませんでした。

どうぞよろしくお願いします。

A 回答 (5件)

Pdf拝見しました。


凄く読みづらいプログラムで、どうにか修正したい欲に
かられるわけですが。

ここでいう♯記号などは、「リテラル」というもので型を
暗黙に示すもので、#はDouble型を示すものだと思います。

言語が違いますが仕様が似てますので参考まで。
3-1 変数と定数
 http://msdn.microsoft.com/ja-jp/library/dd314343 …
 …真ん中のほう:
 …VB .NET はリテラルのデータ型に応じて、以下のような表記をします(表 3-2)。
 …の明示的な記述方法の列

1♯ はDouble型の1ということになります。
基本的に、Dim i as Double と宣言すれば i はDouble型に決まって
いますので♯は要りませんが。

稀に Dim i as Variant(何でも型)と宣言したとき、i=1#とすると
Double型として明示代入ができます。
とはいえ、変数の中身が訳がわからなくなるので、こんな書き方は
通常はしません。
プログラム文中を判りやすく見せているだけだと思います。


とはいえ、このプログラムは読みづらいです。
変数、配列のインデクサ、ループカウンタなど殆どが英字2文字以下の
意味のない単語変数なので、可読性のよいプログラムクォリティとしては
よろしくないと思います。
    • good
    • 3
この回答へのお礼

丁寧にご回答頂きましてありがとうございます。
参考にさせていただきます。
まだまだ他にもわからないところありそうですので
どうぞよろしく願いします。

お礼日時:2010/08/06 06:23

Doubleと言うことでしょう



参照
http://homepage1.nifty.com/rucio/main/kiso/DataT …
    • good
    • 0
この回答へのお礼

WEBを指摘くださりありがとうございました。
今後も励みます。

お礼日時:2010/08/06 06:17

#は、Double型を表しています。


詳しくは、VisualBasicランゲージリファレンスのデータ型(倍精度浮動小数点数型)や、
参考URLの型宣言文字等を見て下さい。

参考URL:http://home.att.ne.jp/zeta/gen/excel/c04p16.htm
    • good
    • 0
この回答へのお礼

ご指導ありがとうございました。
また機会がありましたらどうぞよろしくお願いします。

お礼日時:2010/08/06 06:19

DIAG や R(I) は Double型で変数宣言されています。



R(I) = 0# ' Double型の変数にDouble型のゼロを代入しています。

変数がDouble型ですから、整数型のゼロを代入しても結果は同じですが
気分的にDouble型のゼロを代入したいということでしょう。

※ #記号はDouble型の型宣言です。
    • good
    • 0
この回答へのお礼

丁寧に回答下さり大変ありがとうございました。
今後ともよろしくお願いします。

お礼日時:2010/08/06 06:20

http://msdn.microsoft.com/en-us/library/ee199514 …

下の方のTable 3.2を参照。
そのリテラルがDouble型であることを示す接尾辞です。

#表記がわからんって場合はEBNFでも学んでください。
http://www.atmarkit.co.jp/fxml/rensai/w3cread02/ …

==================
以下のコードを実行すると、それぞれ 2 と 5 が表示されますね?
Option Explicit

Sub Main()
MsgBox (VarType(1))
MsgBox (VarType(1#))


End Sub



で、
    • good
    • 0
この回答へのお礼

プログラムが意味不明と思う瞬間でした。
ご回答があり大変役立ちました。
ありがとうございました。

お礼日時:2010/08/06 06:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A