Visual Basicを使って計算した答えを、グラフに表したいのですが
方法が全くわかりません。
基礎的なことでよいので、教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんな手法を編み出してはどうでしょうか。

実現可能なことは確実です。

1.グラフはエクセルにまかせる。
2.Visual Basic(以下VB)はエクセルを起動して、
エクセルのシートにグラフの元となる値を書く
3.Visual Basicからエクセルに対しグラフ作成マクロの実行を依頼する
具体的にはVBからエクセルのマクロを実行するといった感じです。

<補足>
グラフ作成マクロは、エクセルでマクロの記録ボタンを押して、
自分である程度作成しなければなりません。
エクセルのマクロを勉強する必要があります。

もし、VBだけでグラフを作成するのであれば、
フォームにピクチャーボックスを貼って、自分で座標系を決定し、
ライン文等でキコキコと引いていくか、
前回答者さんの様に、OCXと呼ばれる別ソフトを購入する等して、
VBの機能アップをしてからそれを利用するくらいでしょうか。

いずれにしても、一筋縄ではいかないはずですので、
腰を入れて勉強されるのがよいでしょう。
本屋さんに行くと、その手の本はかなりありますよ。
立ち読みだけでも基礎的なことはつかめると思います。
がんばって下さい。
    • good
    • 0
この回答へのお礼

ご回答、どうもありがとうございました。
おかげで、何とかグラフは描ける様になりました。
でも、まだしょぼいのしか描けないので、これからもうちょっと勉強しようと思います。
本当にありがとうございました。

お礼日時:2001/07/05 19:17

ども 田吾作7です。


自分で描画するか、市販のOCXがベストです。
ただ使用するPCにエクセルが入っているという条件を設定できるなら、OLEオブジェクトとしてエクセルグラフを差し込む方法もあります。
それじゃだめ?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
お金はかけたくないので、頑張って描画しようと思います。
OLEオブジェクトについては、もう少し勉強しようと思います。
ありがとうございました。

お礼日時:2001/07/05 19:22

一番簡単な方法は市販のOCXの使用です



参考URL:http://www.boc.co.jp/support/database/P1_4.htm
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございました。
お金はあまりかけたくないので、違う方法を考えてみます。

お礼日時:2001/07/05 19:19

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qvisual basic の基礎教えて下さい。

ビジュアルベーシックの勉強をしたいと考えております。2冊ほど本を買いましたが、なんと言うのでしょうか・・・ツールがたくさんのっていてそれをどのように使うか例がありません。私が、まったくの初心者であるためやや中級者向けの本を買ったようです。何か、詳しい説明や、こんなプログラム(記述といえばよいのでしょうか?)をすると楽しいですよという例があれば教えて下さい。本当に、この最近ビジュアルベーシックを手に入れたばかりで、プログラムを書いたからといって、次どのようにすればよいのかも分かりません。是非、ビジュアルベーシックと長く付き合えるよう楽しくなる例も混ぜて教えて頂きたいです。お願いいたします。

Aベストアンサー

こんにちは。maruru01です。

バージョンが書いてないので、6.0とします。
初心者用としては、以下の本がおすすめです。

「かんたんプログラミング Visual Basic 6」
  基礎編/コントロール・関数編/応用編
  川口輝久+河野勉/技術評論社

技術評論社の本は初心者用から、応用編までいろいろあり、比較的分かり易いと思います。

http://www.gihyo.co.jp/

参考URL:http://www.gihyo.co.jp/

Qエクセルのシート上に、複数のグラフ表を作り、各グラフ表に対応したグラフ

エクセルのシート上に、複数のグラフ表を作り、各グラフ表に対応したグラフを表示するマクロを作成しました。
エクセル2003のPCで作成したのですが、作成したPCでは良かったのですが、同じファイルをエクセル2010の端末に持ってきて表示したら問題が発生しました。対応方法を教えて下さい。

グラフの項目フィールドをP5:S5に置きます。
この下にグラフデータだけが追加されています。(1番目グラフデータP6:S12、2番目P13:S19、、、)
1番目のグラフはセルI6、2番目はI13に「グラフ表示」と記載し、それぞれのセルをクリックするとその都度マクロが起動してグラフが表示されます。クリックしたセルの右隣のセルがグラフの左上になる設定です。
ところが、エクセル2010では、最初に表示するグラフは意図した位置に表示されるのですが、次のグラフを表示すると、最初のグラフが次のグラフを表示すべき位置に移動し、次からのグラフはM16辺りを左上にして次々に重なってしまします。
対処策をご教示下さい。

Aベストアンサー

2010では、Charts.Add からLocationメソッドでシート上にグラフを移動した場合、
Shape名称が全て『グラフ 1』になってしまうようです。
なので最低限の修正なら
>With ActiveSheet.Shapes(GName)
ここの、名前で指定しているところをインデックス指定に変えれば良いです。
With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)



以下は、参考までに回答#1と同じ書き方で書いた場合。
'SheetModule
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If ActiveCell.Value = "グラフ表示" Then
    Call グラフ(ActiveCell)
  End If
End Sub

Private Sub グラフ(ByVal Target As Range)
  Dim c   As ChartObject
  Dim r   As Range
  Dim source As Range

  Set r = Target.Offset(, 1).Resize(7, 6)
  Set source = Union(Me.Range("P5:S5"), _
            Target.Offset(, 7).Resize(7, 4))
  For Each c In Me.ChartObjects
    If Not Intersect(r, c.TopLeftCell) Is Nothing Then
      Exit For
    End If
  Next
  If c Is Nothing Then
    Set c = Me.ChartObjects.Add(r.Left, r.Top, _
                  r.Width, r.Height)
  End If
  With c.Chart
    .ChartType = xlColumnClustered
    .SetSourceData source, xlRows
    With .SeriesCollection(7)
      .ChartType = xlLineMarkers
      .AxisGroup = 2
    End With
    With .SeriesCollection(6)
      .ChartType = xlLineMarkers
      .AxisGroup = 2
    End With
    .Axes(xlValue, xlSecondary).DisplayUnit = xlMillions
    .PlotArea.Interior.ColorIndex = xlNone
  End With

  Set c = Nothing
  Set r = Nothing
  Set source = Nothing
End Sub
こんな感じになります。

#ちなみに回答#1は該当セルをダブルクリックすると実行されるイベントです。

2010では、Charts.Add からLocationメソッドでシート上にグラフを移動した場合、
Shape名称が全て『グラフ 1』になってしまうようです。
なので最低限の修正なら
>With ActiveSheet.Shapes(GName)
ここの、名前で指定しているところをインデックス指定に変えれば良いです。
With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)



以下は、参考までに回答#1と同じ書き方で書いた場合。
'SheetModule
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If ActiveCell.Value = "グ...続きを読む

QVisual CのコードをVisual Basicに直したいです

検索でVCのコードしか見つからず、VBに直しているのですが、下記がわかりません。

[VC]
public ExtendedWebBrowserSite(ExtendedWebBrowser wb) : base(wb)
{
parent = wb;
}

下記のところまでは、出来たのですが、最後の「 : base(wb)」の部分はどのようにすればよいのでしょうか?
[VB]
Public Sub ExtendedWebBrowserSite(ByVal wb As ExtendedWebBrowser)
parent = wb
End Sub

ご存知の方、よろしくお願いいたします。

Aベストアンサー

Convert C# to VB.NET
http://www.developerfusion.com/tools/convert/csharp-to-vb/

QVisual Basicを使って三平方の定理の計算式を表現するにはどうしたら良いのでしょうか?

Visual Basic.net 2003を使っているのですが、
For...Next loopなどをを使って、
三平方の定理のパターンを全部(A<300 B<300 H<300の条件で)だすという
プログラムを作りたいのですが、どうしたらよいのかわからなくて困っています。
一応すべて整数でというのが条件なので、


dim A, B, H, as interger

A^2 + B^2 = H^2

で、このときどこかに、
For nextなどをはさんで、
AやBの値を増やしていくと思うのですが…。。

もう5時間以上格闘しても答えが出なく、
ここに投稿してみました。
どなたか、回答よろしくお願いいたします。。

Aベストアンサー

'#3は、間違いでした、すみません。<(_ _)>
Imports System
Class Sample
Shared Sub Main()
'条件:A<300,B<300,H<300 でH*H=A*A+B*B の成り立つものを列挙する
Dim A, B, H as Integer

For A = 1 To 299
Dim maxB as Integer ' 上限としての仮のB
maxB = CInt(Math.Sqrt(299*299 - A*A))
For B = 1 To maxB
H = CInt(Math.Sqrt(A*A+B*B))
If H*H = A*A+B*B Then
Console.WriteLine("A:{0},B:{1},H:{2}", A, B, H)
End If
Next
Next
End Sub
End Class

'#3は、間違いでした、すみません。<(_ _)>
Imports System
Class Sample
Shared Sub Main()
'条件:A<300,B<300,H<300 でH*H=A*A+B*B の成り立つものを列挙する
Dim A, B, H as Integer

For A = 1 To 299
Dim maxB as Integer ' 上限としての仮のB
maxB = CInt(Math.Sqrt(299*299 - A*A))
For B = 1 To maxB
H = CInt(Math.Sqrt(A*A+B*B))
If H*H = A*A+B*B Then
Console.Wr...続きを読む

Qvisual basic入門

html以来はじめてまともにプログラミングに挑戦しようと思い、VBを勉強しています。なるべく本を買わずに済ませたいのですが、難しいでしょうか?
現在、microsoftのプログラミング☆簡単レシピをなぞる形で勉強していますが、肝心のコードの仕組みが分かりづらくて困ってます。VBのコードがわかりやすく学べるサイトや、辞書的なサイトがあれば教えてください。

Aベストアンサー

>>VBの難易度がそれほど低いとは知りませんでした

 えーと、VBの名誉のためにいいますが、C言語でも文法だけの理解なら、半日もかからないと思います。(ただし、C++となると、文法理解だけでも1ヶ月では終わらないかも・・・)

>>200ページの本を反日で読むのは私には難しいように思います・・。

 ちょっと言葉不足で誤解されちゃったようですが、VBの文法を解説する部分だけだと10~20ページ以下におさまると思いますよ。で、この部分だけの理解だけだと、半日もかからないってことです。200ページっていうのは、例題のスクリーンショットとか、実際のプログラミング解説ページなどを含めてのことを言ったつもりでした。で、そういった、プログラミング全般的な解説ページを含めてのことです。

>>あくまで趣味的なもので、いわゆる日曜プログラマ的なことをやってみたい・・VBでは不足でしょうか?

 うーん、日曜プログラミングで何をやるか?で変わる気がします。結局のところ、プログラムって道具であり、ツールでしかない。日曜プログラムで「チョコチョコとやりたい」と思うことが、VBで手軽にできればいいわけです。特に、Excel/VBAなどをターゲットにすれば、公私において、大変便利に使えると思います。
 でも、数百件のデータを並べ替えて集計して、数10ページのリストにしたいと思ったらVBだけの学習では無理でしょう。やはり構造化プログラミングとかアルゴリズムの知識が必要になります。「こんなの簡単にできるでしょう?」と素人で思えることが、すごく高度な知識を要求されることもあります。
 逆に、うまく道具(言語orツール)を選択することで、それこそ日曜プログラマ的にできちゃう可能性もあります。だから、ケースバイケースだと思います。

 ただし、「プログラマ」をめざすならば、VBではなく、C言語から入って欲しいと思ってます。イベント駆動型のVBでは、「ロジック」が身につかないと思います。

P.S.
 「プログラマの雰囲気を味わう」だけならVBでいいかもしれませんが、それでしたら、もっとかっこいい雰囲気?をかもし出す「LinuxでC言語とCシェルスクリプトやってまーす」というほうがお勧めなんですけどね。

>>VBの難易度がそれほど低いとは知りませんでした

 えーと、VBの名誉のためにいいますが、C言語でも文法だけの理解なら、半日もかからないと思います。(ただし、C++となると、文法理解だけでも1ヶ月では終わらないかも・・・)

>>200ページの本を反日で読むのは私には難しいように思います・・。

 ちょっと言葉不足で誤解されちゃったようですが、VBの文法を解説する部分だけだと10~20ページ以下におさまると思いますよ。で、この部分だけの理解だけだと、半日もかからないってことです。200...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報