• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:グリッドについて,エクセルのアドインについて)

グリッドについて,エクセルのアドインについて

TAGOSAKU7の回答

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

1番についてです。 DataGrid or Excel どちらでしょう? ちなみにフレキシブルグリッドはグリッドのマージ(結合)や色を付けたりするのに適してます。 DataGridはエクセルのような直接グリッド内を編集できますが、マージは無理で、色付けの設定はグリッド単位では指定できません。 Excelは説明を省略します。 全てのパターンの使用例は勘弁してください・・・(^^;) とりあえず、何がしたいのかが知りたいです。 ちなみにエクセルでの機能を使用する時点で、VBAのみの処理にした方がいいような気もします。。。 3番についてです。 処理としては 1.エクセル起動 2.エクセルブックを開く 3.エクセルブックにデータを出力 3.エクセルブック内の関数を呼ぶ(エクセル内にマクロを用意) 4.解析データを得る(サンプルではメッセージボックスをコメント化してます) といった要領です。 解析は得意ではないので、エクセル側の関数「subAnalysis」は自分で編集してくださいね。 エクセルのヘルプのキーワードで「solver」と打ち込むと使用方法が出ています。 VBのプロジェクトの参照設定で [Microsoft Excel x.0 Object Liblary] を指定することが必要です。 それ以外に、エクセルのブックを一つ用意して(サンプルではC:\Test.xls)VBA画面でツールの参照設定から C:\Program Files\Microsoft Office\Office\Library\Solver\SOLVER.XLA を指定しておく必要があります。これはソルバーの関数ライブラリなので、あらかじめ用意するブックに関連付けしておかなければなりません。ですので、参照設定をして保存してください。 エクセルブック内の関数ではデータ範囲が固定で書いてありますが、データ範囲の取得方法などがわからない場合は、別の質問で行ってください。本題から外れます。 解析データの出力先をシート2の先頭にしておくと、解析データを取得しやすいかもしれませんね。 -----VB側----- Option Explicit Sub Main()   Dim xlApp  As Excel.Application   Dim xlBook As Excel.Workbook   Dim xlSheet As Excel.Worksheet      'エクセル起動   Set xlApp = New Excel.Application   'ワークブックを開く   xlApp.Workbooks.Open ("c:\test.xls")   Set xlBook = xlApp.ActiveWorkbook      'シートを指定   Set xlSheet = xlBook.Worksheets(1)   xlSheet.Select      'データをセットする   Call xlsDataSet(xlSheet)      '表示する   xlApp.Visible = True      '解析を行う(エクセル任意)   Call xlApp.Run("subAnalysis")      '解析した値を読み込む(解析値の出力によってここは変わります)   '''''Call MsgBox(xlSheet.Cells(x, x).Value)         '閉じる時の「保存しますか」を表示させない   xlBook.Saved = True      Set xlSheet = Nothing   Set xlBook = Nothing   Set xlApp = Nothing End Sub '受けたシートにデータを出力(テスト用のダミーデータ) Sub xlsDataSet(xlSheet As Excel.Worksheet)   Dim i  As Long   Dim j  As Long      For i = 1 To 30     For j = 1 To 30       xlSheet.Cells(i, j) = i & j     Next j   Next i End Sub -----EXCEL_VBA側----- Sub subAnalysis()   Worksheets(1).Activate   With Worksheets(1)     Call SolverReset     Call SolverOptions(Precision:=0.001)     SolverOK SetCell:=Range("F4"), MaxMinVal:=1, ByChange:=Range("C4:E6")     Call SolverAdd(CellRef:=Range("F4:F6"), Relation:=1, FormulaText:=100)     Call SolverAdd(CellRef:=Range("C4:E6"), Relation:=3, FormulaText:=0)     Call SolverAdd(CellRef:=Range("C4:E6"), Relation:=4)     Call SolverSolve(UserFinish:=False)     Call SolverSave(SaveArea:=Range("A33"))   End With End Sub

38endoh
質問者

補足

再び早速のご回答,大変ありがとうございました。 > とりあえず、何がしたいのかが知りたいです。 大変申し訳ございませんでした。ご説明いたします。 今私は,大学の研究室で光学実験を行うためのプログラムを作成しております。具体的には,ステッピングモーター,シャッター,オシロスコープ等をGPIBで操作,また試料温度をのRS-232Cで制御し,入力された手順に従って測定,データ収集,データ解析を行うプログラムを作成しております。 プログラムの流れは大ざっぱに,  1.測定手順の入力(ここで,入力用にグリッドを使用)  2.自動測定,データ収集  3.データの解析(ここで,エクセルの回帰分析を使用) という感じで,この1の部分で,測定条件を各グリッド内に直接書かせようと考え,3の部分でエクセルに回帰分析を行わせようと考えました。なお回帰分析とは,n個の測定点 (xn,yn) が式 y = A * {sin(x - B)}^2 に合うように非線形最小二乗法を行って A と B を求めるという内容です。この部分は自分ではアルゴリズムが分からないため,エクセルに頼ろうと考えました。 > 1番についてです。 > DataGrid or Excel どちらでしょう? 逆にお伺いする形になってしまい,申し訳ありません。グリッドはデータの直接入力機能と,コピー&ペースト程度の編集機能さえあれば構わないのですが,その程度なら DataGrid でも十分でしょうか? どちらかと言えば動作が軽い方がいいのですが…。 > 3番についてです。 > 処理としては > 1.エクセル起動 > 2.エクセルブックを開く > 3.エクセルブックにデータを出力 > 3.エクセルブック内の関数を呼ぶ(エクセル内にマクロを用意) > 4.解析データを得る(サンプルではメッセージボックスをコメント化してます) > といった要領です。 ご指示の通り,やってみたいと思います。 ご丁寧に,大変ありがとうございました。

関連するQ&A

  • MSFlexGridのスクロールバー位置

    VB5(SP3)です。 ある検索条件でMSFlexGridに100行表示させた後、垂直スクロールバーで50行ほど下方向にスクロールさせます。 この状態で違う検索条件で1行表示させた時、垂直スクロールバーの位置が変わらないため(TOPにこない)に何も表示されません。垂直スクロールバーを上方向にスクロールさせれば出てきます。 垂直スクロールバーをTOP位置に持ってくる方法はありませんか? MSFlexGrid.VscrollBar.Value=0とかあれば・・・・

  • excelでのアドインを使用しない回帰分析の求め方

    excelで回帰分析を使って将来の値をアドインを使わずに計算したいのですが、どうすればできますか? 与えられている情報は 日付    値段 11/1    3029 11/2    3038 11/3    2549 といった具合に11/30日まで続いています。

  • 階層フレキシブル グリッド コントロール のスクロールバーを表示しない状態でスクロールさせる方法は?

    VB6.0で階層フレキシブル グリッド コントロールを 3個をそれぞれ明細部・縦計部・横計部として使用して、 スクロールを連動させて表示したいと思っています。 ただ、グリッドコントロールのそれぞれにスクロールバー を表示させるのはあまり見栄えがよくないので、 垂直スクロールバーで、明細と横計の上下スクロール、 水平スクロールバーで、明細と縦計の左右スクロールを 制御しようと思い、 とりあえず、グリッドコントロールの ScrollBarsプロパティーをflexScrollNoneに設定してTopRowプロパティーとLeftColプロパティーの値を 適当に設定してみたのですが、左上のセルは(1,1) が表示されたままでした。 なんとか、うまくスクロールさせる方法はないでしょうか?

  • グリッドの使い方について

     VB初心者です。 Excelからデータをグリッドに取り込んでグリッドで計算しているのですが、x(i, j) = MSFlexGrid1.TextMatrix(i, j) の文がいろいろ入力してみたのですが、エラーが出てしまいます。  それと計算するときに最初のセルを(3,3)などにしたい時にどうすれば良いのかわかりません。 教えていただければ幸いです。よろしくお願いします。 Dim goukei(10) As Double Dim x(20, 10) As Double For i = 1 To 20 For j = 1 To 10 x(i, j) = MSFlexGrid1.TextMatrix(i, j) Next j Next i For j = 1 To 10 goukei(j) = 0 Next j For i = 1 To 20 For j = 1 To 10 goukei(j) = goukei(j) + x(i, j) Next j Next i For j = 1 To 10 Text1.Text = goukei(j) Next j

  • VB.net データーグリッドビューで余白を無くし

    VB.net 2010でプログラムを開発して居ます。 VB.net データーグリッドビューで余白を無くしたいのですが、何か良い方法はあるでしょうか。 アンカーで左右上下を設定して、オートサイズに設定すれば余白が無くなる様ですが、1つのプログラムで複数の表を作成して居る為、これだと各表のセルの幅が表によって異なってしまい、見栄えが良くありません。 各セルの幅とスクロールバー、及び一番左の列の幅を足して、その幅をデーターグリッドビューの幅とすれば余白は無くなると思うのですが、一番左の列とスクロールバーの幅の求め方が分かりません。 どなたか解決策をご存知の方、お教え下さい。 宜しくお願い致します。 添付のAの部分を無くしたいのです。 Bの幅とスクロールバーの幅が判れば何とか成ると思うのですが。

  • EXCELアドインファイル開けません

    こんにちわ。OS98SE Office2000personal EXCELで、藤本壱さんの株価テクニカル分析アドインを、 入れてるんですが、 最近、Access95で、EXCEL&ACCESSで、 遊んだからかなあ、 Microsoft Visual Basic ファイル開けません と、ご丁寧に、2回出てきます。 office再インストールしたんですが、 変わらず、 アドイン入れなおしても、無理なんです。 いい解決方法ないでしょうか? よろしく。

  • マウスのサムホイールに反応させるには

    VB5(SP3)のMsFlexGrid操作においてマウスのサムホイールでスクロールバー及び表を上下に動かす方法を教えていただけませんか。

  • Excel分析ツールが出せません

    Excel分析ツールで回帰分析をやりたいのですが、ツールの中にでていません。アドインをみて分析ツールにチェックを入れてOKにしても何も起こりません。どうしたらツールのメニューに分析ツールを出して使えるように出来るのでしょうか? 初歩的なことなのかも知れませんがよろしくお願いいたします。

  • エクセルの回帰分析はどこにあるのですか?

    重回帰分析をしたいです。 エクセルにおいて、メニューバーの「データ」→「データ分析」→「回帰分析」を選択するのですが,わたくしは見つけられませんでした。ありません。 わたくしは,データ分析が見つけられません。困っています。 どこにあるのでしょうか。 教えてください。よろしくお願い致します。 また,Kingsoft Spreadsheets では,重回帰分析ができないのでしょうか??? メニューバーの中の「データ」の中には データ分析が見つけられません。 教えてください。よろしくお願い致します。

  • EXCELのアドインを入れても重くならない方法は?

    下記の構成のパソコンを使用しています。 ある時から、EXCELの起動や処理が遅くなったので、 こちらのサイトで調べましたら、アドインが原因では?と 思い、アドインをはずしました。 すると、元のようにすぐに起動してくれるようになり、 操作中の処理も早くなりました。 ですが、分析ツールや条件付き合計ウィザード、VBAを使用したいので、アドインを入れた状態で使用したいのです。 アドインを入れても重くならない方法はないでしょうか? メモリは256MBですが、526MBに増やした方がいいのでしょうか? どなたかアドバイスをよろしくお願いいたします。 <自作> CPU:Pentium III 551MHz メモリ:256MB OS:XP Professional Version2002 SP1