WindowsXP Proffessional OFFICE2003の構成でエクセルを使用していてサービスパックも入れています。
自分でユーザー関数を作って使用しているのですが標準、モジュールのほうで大文字で関数を書いているのにワークシートのほうで使用すると勝手に小文字に書き換えられてしまいます。
標準モジュール一つだけ関数マクロがあるだけでシートのほうには何も記述していません。
ちょっと前まで標準モジュール内の関数を大文字に指定していても小文字に戻されてしまうので、わざとシートのほうに大文字で関数を書くと標準モジュール内の関数が自動的に変わって問題は解決したと思ったのですが、エクセル本体?の関数が変わっておりません。
関数そのものの動きは思った通りに動いています。
こういうときはみなさんはどうなさいますか?
No.1ベストアンサー
- 回答日時:
>大文字で関数を書いているのに
どういう意味?関数名のこと。ユーザー定義関数の中の変数名のこと?
あるいはその他の名称?ステートメント?コメント?
はっきり書いて。
>ワークシートのほうで使用すると勝手に
使用するのは何?目的語を明確に。関数(関数名のこと?)を=関数名()で
使っているのか。
実際の標準モジュールの関数定義の名前に換えられてませんか。
色んな名前の命名でVB系では大文字・小文字は区別されないと思ったほうが良い。
シート名、変数名など
http://officetanaka.net/excel/vba/tips/tips93.htm
http://www.accessclub.jp/vba/help/b02.html
この回答への補足
返事が遅れて申し訳ありません。
>どういう意味?関数名のこと。ユーザー定義関数の中の変数名のこと?
ユーザー定義関数の「関数名」です。
シート上では大文字ででセルに
=VLCOUNTIF
としたつもりがすぐに勝手に
=vlcountif
に変えられてしまうのです。
標準モジュール上では
Public Function VLCNTIF(ParamArray FindStr() As Variant) As Variant
としております。
内容はプライバシーの問題があるので詳しく明かせませんが、例えて言うならVLookupで単価表の商品番号の価格を取得し、COUNTIFで商品の数を数えてかけ算したものを合計するみたいなことをするためにVBAでユーザー定義関数を作っていてVLCOUNTIFという関数を作っていたのです。
いろいろ実験してみたところ、例え「VL」を付けていたとしても「COUNTIF」の部分が問題だったようでVLCNTIFなどとしたら、普通に=vlcntif等と入力してもきちんと=VLCNTIFで修正されて事なきを得ました。
大変お騒がせしました。
標準モジュール上では
×Public Function VLCNTIF(ParamArray FindStr() As Variant) As Variant
○Public Function VLCOUNTIF(ParamArray FindStr() As Variant) As Variant
としております(していました)。
先ほどの補足の内容の修正です。
見苦しくてすみません。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセル文字列の日付を日付けに変える 2 2023/05/13 11:08
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) エクセル関数について 8 2023/06/28 17:04
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Excel(エクセル) エクセルでカレンダーを作りたい 5 2023/05/16 07:32
- Visual Basic(VBA) VBA B列にある前から10文字のみ表示 3 2023/08/07 11:24
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- Excel(エクセル) エクセルでセルに何らかの文字が入力されたらそれを任意の数値として認識させる方法がしりたいです。 3 2023/03/16 20:19
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBでグローバル変数を宣言するには
-
Excel VBAでリンク切れをチェッ...
-
Excel VBAで、ユーザーフォーム...
-
ベースモジュールって?
-
vba userFormのSubを標準モジュ...
-
ユーザー定義関数をEXCELに常駐...
-
本当にPublicな変数(配列で)
-
VBAで旧字体を異字体に一括で変...
-
【vba】フォームに書いてあ...
-
モジュールとクラスの違いって...
-
ユーザー定義関数に#NAME?が返...
-
SendKeysの使い方について
-
クラスモジュールについて
-
VBA This Workbookモジュール...
-
Excel VBA 『Call』で呼び出す...
-
VBAで「メモリが不足しています」
-
エクセルVBAでシートモジュール...
-
モジュールの最大数はいくつな...
-
Excel VBA 定義されたプロージ...
-
Tomcat マイナーバージョン移行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAで、ユーザーフォーム...
-
Excel VBAでリンク切れをチェッ...
-
vba userFormのSubを標準モジュ...
-
エクセルVBAでシートモジュール...
-
ユーザー定義関数に#NAME?が返...
-
モジュールの最大数はいくつな...
-
VBAで旧字体を異字体に一括で変...
-
VBでグローバル変数を宣言するには
-
VBAで別モジュールへの変数の受...
-
VBA This Workbookモジュール...
-
【vba】フォームに書いてあ...
-
モジュールとクラスの違いって...
-
SendKeysの使い方について
-
標準モジュールを削除したい。(...
-
エクセルVBA クラスモジュール...
-
Excel VBA 『Call』で呼び出す...
-
'Range'メソッドは失敗しました
-
グラフのX,Y座標を取得したい
-
Excel VBA 標準モジュール内で...
-
大量の標準モジュールを解放す...
おすすめ情報