• ベストアンサー

Excelの関数をVisual Basic6.0で使えますか?

プログラムに関してはVBAの勉強を始めたばかりの初心者です。 人に聞かれた事なのですが、Excelの関数をVisual Basic6.0で使えますか? 使えるのなら、どういう風にすればよいか教えてください。 初心者向けに教えていただけると非常にありがたいです。 よろしくお願いします。

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

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

>VBAの勉強を始めたばかりの >Visual Basic6.0 >Excelの関数 (1)VBで使える関数があります。VBの解説書に列挙されていて(数はそう多くない)(A)見た目DOS-BASIC時代からあるもの(B)その他とあります。(A)はExcelの関数にも似たものがあり、見た目は似ていますが、それだけのことです。そういう理由は (2)エクセルの関数は、ワークシート(のセル)があって初めて機能するもので、セルに=といれ、その次にいれるものです。エクセルの関数は、他言語で使うためのサブルーチンのようなものを提供する目的の物ではありません。であるからVB6でエクセルを使いこなせるなら、エクセル表を扱うなら、使えるとも言えます。エクセルという土俵を持ちこまないと働かないものです。数は500ぐらいでしょうか、多い。 (3)(A)エクセルの関数と(B)VBAで使うWorksheetFunctionは、「あくまで見た目では」(A)だけにあるもの、(B)だけにあるもの、(A)と(B)に共通の3種類があります。共通のものもWorksheetFunctionを付けるほかに、引数等の記述に違いがあり、やはりそれなりの勉強や注意が必要です。 WorksheetFunctionの数はエクセル関数より少ないです。 内部で同じルーチンで処理されているのかどうかわかりません。基幹部分は多分同じルーチンを使うのでしょうが。 (4)VB6のDOS-BASIC時代からある関数は、入出力関係のものも多く、これはエクセルの関数の扱う対象外です。エクセル関数は入出力は扱いません。 それ以外(VBAで使える関数、VB6で使える関数)はVBAの中でユーザー関数を作る際に使えれば エクセルのセルにセットして使うユーザー関数のルーチン中で、所定の働きをさせることができます。あくまでもVB6の関数がVBAにも認められている(入っている)と言うだけで、そもそもそういうものでもありません(VB6の関数はVBAではそのまますべて使えるなどとはなっていない)。

shi_meg
質問者

お礼

imogasiさん、とても詳しい説明ありがとうございました。 とても参考になりました。 ・・かなり勉強しないとダメみたいですね。 助かりました。

その他の回答 (2)

  • zealzany
  • ベストアンサー率35% (19/53)
回答No.2

エクセルの関数を使用したいと言う意味なら。 参照設定で、エクセルをチェック Microsoft Excel 10.0 Object Library フォームにテキストボックス Text1 Text2 CommandButton コード Private Sub Command1_Click() Text2.Text = Excel.Application.WorksheetFunction.Ceiling(Text1.Text, 10) End Sub 質問の読み間違いでしたらすいません。

shi_meg
質問者

お礼

zealzanyさん。ありがとうございます。 参考になりました。やってみます。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

動作上は、VBからエクセルを呼び出して実行する形になります。 まずは、入門編でしょうか。 下記を参考にしてください。 ネットで探すといろいろとあると思います。

参考URL:
http://www.bcap.co.jp/hanafusa/VBHLP/excel1.htm
shi_meg
質問者

お礼

hana-hana3さんありがとうございました。 とても参考になりました。