• ベストアンサー

Excel VBA のstr()関数でエラー

Excel VBA のstr()関数で、ライブラリが見つかりませんというエラーが起きます。str()関数が使えるようにしたいのですが、どうしたらよいのでしょう。教えてください。お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • proe
  • ベストアンサー率100% (1/1)
回答No.3

「ツール」→「参照設定」で参照不可になっているライブラリはありませんか?参照不可が存在した場合、チェックをはずして実行してみて下さい。

tpc-katoh
質問者

お礼

早速、回答ありがとうございます。 こんなところで、ライブラリが参照できるのですね。ありがとうございます。 仕事場で利用しているファイルなので、確認取れませんが、回答No.2でのお礼に記載したとおり、実行できるパソコンとエラーのでるパソコンがあるので、比べてみたいと思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

はっきり判りませんが、Str関数はBasic時代からある旧い関数で、Addin関数のような導入も要らないと思います。 関数の引数が数値に限られているのでその点大丈夫ですか。 下記はOK。=で挟んだのは+の場合の先頭1スペースの確認のため。 Sub test01() n = 1234 MsgBox "=" & Str(n) & "=" n = -234 MsgBox "=" & Str(n) & "=" End Sub n = "AS" MsgBox "=" & Str(n) & "=" では型が一致しませんと出ますね。

tpc-katoh
質問者

お礼

早速、回答ありがとうございます。 同じExcelファイルのVBAを、実行した場合に、実行できるパソコンとできないパソコンがあるのです。 ちなみに Windows95 Excel97   → エラー Windows98 Excel97   → 実行可能 WindowsXP Excel2003 → エラー となり、プログラム自体は、問題ないのです。 2003だけの問題なのかと思ったのですが、そうでもありません。 こんな古くからある関数なのにエラー出る場合があるので質問した次第です。

全文を見る
すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

str:数値を文字列に変換 の事ですか? Cstr関数ではどうでしょう?

tpc-katoh
質問者

お礼

早速、回答ありがとうございます。 以前、CStr関数は、試したことがありますが、同様のエラーがでてしまいました。 エラーのでないパソコンもあるので、Str関数に戻して実行しています。 ご協力ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルでSearch()関数が使えない

    エクセルVBAで標準モジュールに関数を作って その関数の中で  Search()を使うと 関数が定義されてない、というエラーになります Search()関数は基本的な関数であるし Search(",",str)  とか引数の記入違いであれば違うエラーが出ると おもうのですが? WindowXPでExcel2003を使っています あるいは参照関係かとおもったのですが、  この知識がないのでどう直していいかわかりません 念の為、ツール→参照設定をみてみると 次の4つがチェックマークが付いているのですが ・Visual Basic for Application ・Microsoft Excel 11.0 Object library ・OLE Application ・Microsoft Office 11.0 object library

  • VBA  コンパイルエラー:プロジェクトまたはライブラリがみつかりませ

    VBA  コンパイルエラー:プロジェクトまたはライブラリがみつかりません。 Excel2000で作成したマクロ(VBA)をExcel2007(OS:VISTA)上互換モードでコンパイルして動かしていました。このマクロをExcel2007(64ビットWindows7)でコンパイルしようとすると「コンパイルエラー:プロジェクトまたはライブラリがみつかりません。」でコンパイルできません。対象は「chr()、mid()、trim()」等の関数のようです。 解決策をご教授いただきたくお願いいたします。

  • VBAで関数内のエラーを起こしている行を知るには?

    Excel2000のVBAについて質問します。 VBAで関数を作り、その中でエラーが起きると、エラーを起こした関数のところが矢印などで示されると思います。 ただ、関数の中のどこの行でエラーを起こしたのか、どうすればわかるのかわかりません。 どうすれば調べられるのでしょうか? よろしくお願いします。

  • エクセル VBAでエラーがでます

    エクセルのVBAで 以下の文を書くと、赤くエラーがでます。 「新」が反転します。 Range("o2").Value = "=IF(n2=0,"新","再(既)")" セルの中に、関数を入れたいのですが、 方法が間違ってますでしょうか? 宜しくお願いいたします。

  • Excel VBA ""を含む関数を使うには

    Excel VBA ""を含む関数を使うには お世話になっております。 Excel VBAでMatch関数を使って下記のようにしたいのですが、 受け付けてもらえません。  n = Application.WorksheetFunction.MATCH("小計",range("B3:B10"),0) "小計"を""小計""と二重でくくれば良いような気がしたのですが、だめです。 どうすればよいでしょうか?

  • Left$関数がExcel VBAで使えません。

    Excel2000でVBAを使っています。 Left$関数を使いたいのですが、 コンパイルエラーがでて 「プロジェクトまたはライブラリが見つかりません。」 と出ます。 VBAは初心者なので、どうしたらよいか分かりません。 どなたか、ご教授ください。 よろしくお願い致します。

  • VBAの例題によく出てくるstr

    VBAを勉強し始めたのですが、ネットで調べているとよくstrをdimで宣言しているのを見かけます。これは【string】として宣言しているため、strとしているという認識でいいですか?

  • EXCEL VBAの日付関数について

    EXCEL VBAの日付関数のことでお聞きしたいことがあります。 エクセルの関数でワークデイ関数がありますが、例えば C1セル: =WORKDAY(A1,10,B1:B10) これをVBAのコードで書くと、どういうコードになるのでしょうか。 VBAの関数については詳細に書かれたテキストを持っておらず、WorksheetFunctionを使ってチャレンジしてみましたが どうも上手くいきませんでした。 初歩的な質問かも知れませんが、どうぞよろしくお願いいたします。

  • vbaにおいて、セルのエラー検出に関して

    vbaにてセルに入力する数式のエラー検出に関して教えてください。 iserror関数で検出できない数式を簡単に検出する方法ありませんか? sub test() dim str as string str=" C2*C3* " cells(5,7).value=str end sub 簡単なVBAのコードですが、*の右側はセル相対参照もセル絶対参照も数値も入っていませんので、数式としてはエラーです。 strの値を(5,7)のセルに放り込んだら、vbaのエラーで停止してしまいます。 かといって、iserror()を使って、 sub test() dim str as string str="C2*C3*" if iserror(str)=true then else cells(5,7).value=str end if end sub としても、エラーをはじいてくれず、VBAでもエラーを出力してしまいます。 力業で、strの数式エラーをはじくしか方法はないのでしょうか? インターネットを調べているのですが、的を射た答えが出てきません。 どなたか詳しい方ご教示ください。

  • エクセル関数 → VBAへの変換をどうやって行えばいいでしょうか? 特に、.Formula=にエクセル関数をいれたい場合

    エクセル関数 → VBAへの変換 現在、エクセル関数で記述していた以下の命令をすべてVBAに置き換える必要があります。 理由は、VBAで初期化ボタンをつくってそのボタンを押したとき、対象セルにデフォルトでエクセル関数の 式を入れたいからです。 なので、エクセル関数を以下のようにVBAにいれていました .Cells(7, 51).Formula = "C6&E6" しかし、これを以下のようにすると、エラーになってしまいました。 .Cells(7, 51).Formula = "C6&" "&E6" '氏名の間に半角スペースを入れたいため 同様に、以下のものがすべてエラーになります。 .Cells(8, 51).Formula = "L9&M9&"年"&N9&"月"&O9&"日"" .Cells(9, 51).Formula = "IF(OR(ISNUMBER(SEARCH("090-",C9)),ISNUMBER(SEARCH("070-",C9)),ISNUMBER(SEARCH("080-",C9))),"",C9)" どうすればよろしいでしょうか?