• ベストアンサー

EXCELのプロパティ変更

 こんにちわ。VBでEXCELを起動して、データを転送してグラフを書くところまで、皆さんのお力を借りて辿り着きました。その度は大変お世話になりました。それで、今回の問題は、そのグラフのプロパティも変更したい、、。Withとかを使って??実際やりたいのはEXCELの機能で目盛の書式設定、最大値最小値の変更をVBの変数を使って可変にしようかなと考えています。作り方に問題があるとは思いますけど、なんかデータとかが可変なんでグラフに偏りが出てくる為、そんな処理をしなければならないような感じなんですが、どうぞ宜しくお願いします。また説明下手ですね、、。

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

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

( ̄ー ̄)ニヤリ

HUKAHIRE
質問者

お礼

♪(⌒∇⌒)ノ""

その他の回答 (8)

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

>  Set MyChart = xlSheet.ChartObjects("グラフ 1") この行の次に   MyChart.Activate を追加してみてください。

HUKAHIRE
質問者

お礼

 失礼しました。回答を頂いてスグ試したところ実現することができて、お礼をするのをすっかり忘れていました。ありがとうございました。なんだか、またお世話になる気もしますが、その時はまたどうかどうか宜しくお願いしまッす。

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

明日ですね。わかりました。今日はこれで最後の書込みにしておきます。 まだ 仕事中ですので、掲示はみております。 新たな質問は別スレッドにしてくださいね。あとで検索する時、一つのスレッドには一つの質問の方が、あとで検索しやすいので・・・・ やりたいことはピクチャボックスに描画していき、 Call SavePicure(Picture1.Image, "C:\Test.bmp") っていうような要領で実現可能と思われます。 別質問をとして発言を行ったなら、その時に詳しく述べます。

HUKAHIRE
質問者

お礼

 大変迷惑かけてます。まだまだ常識がないですね、、。これから精進いたします。一応、これがソースの一部なんですけど、、。 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim strFileNAM  As String Dim strExcelSheet As String Dim MyChart As ChartObject 'ブックのシート名 strExcelSheet = "Sheet1" Set xlApp = New Excel.Application Set xlBook = GetObject(strExcelFile, "Excel.Sheet") Set xlSheet = xlBook.Worksheets("Sheet1") For i = 1 To intCnt - 1 xlSheet.Cells(0 + i, 11).Value = dblPastCalData(i) Next i xlSheet.Cells(1, 3).Value = dblJogen xlSheet.Cells(2, 7).Value = dblKagen xlSheet.Cells(1, 15).Value = dblCalData '絶対値を計算 dblMemoriVAL = dblABSMax(dblPastCalData, intCnt - 1) Set MyChart = xlSheet.ChartObjects("グラフ 1") With MyChart.Chart .Axes(xlValue).MaximumScale = dblMemoriVAL .Axes(xlValue).MinimumScale = -(dblMemoriVAL) End With xlSheet.Parent.Windows(1).Visible = True 'グラフをコピー xlApp.Worksheets(1).ChartObjects("グラフ 1").Copy 'クリップボードから貼り付け frmComGraph.Picture1.Picture = Clipboard.GetData 'ファイル名を指定 strFileNAM = strTstKoMoku & lngNO & strCheck & ".bmp" frmComGraph.Picture1.Refresh Call SavePicture(frmComGraph.Picture1.Image, "C:\Documents and Settings\Graph\デスクトップ\GraphVB\" + strFileNAM)

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

エクセルのブックを開く部分のプログラムを見せてください。 おそらく ブックオブジェクトの指定がないからのような気がします。

HUKAHIRE
質問者

お礼

 ちょっと今、手元にソ-スがないので明日見てもらいたいですけど、、。また新たな問題がありましてVBで「Ω」こんな絵を書いて丸の中と脇に変数を表示、そしてそれを画像ファイルとして保存。また説明不足だとは思いますけど、そんなコンポーネントみたいなものってありますか?なんて次から次に分からないことだらけなんでしょう、、。

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

エクセルのグラフの操作コードを記述してるのは、エクセルVBAに記述してますか? それともVB側? もしVB側であればActiveSheetの前に、ブックやエクセルアプリケーションを指定しなければなりませんよ。 とりあえず、さっきのコードはどちら側に記述したのでしょうか?

HUKAHIRE
質問者

お礼

VB側です。EXCEL側にはなるだけ記述はしたくないのです。

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

#2の発言で できませんでしたか?

参考URL:
http://www2s.biglobe.ne.jp/~iryo/vba/VBA13.html
HUKAHIRE
質問者

お礼

 んー、、なんだか出来ないんですよね。EXCELの不具合かと、、ってヘルプで見たんですけど、、でもそれってEXCEL4.0の話かも、、。

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

ごめんなさい xlCategoryをどのように使用しているかがわかりません。 あと一度の書込みに、お礼と補足をまとめた方がいいですよ。 いざ何か書きたい時に、書けなくなってしまいますよ。

HUKAHIRE
質問者

お礼

 そうですね、私も追記が出来なくてたまに困っていました。私のしたかったことは ActiveSheet.ChartObjects("グラフ 1").Activate With ActiveChart.Axes(xlCategory)   .MinimumScale = 1  '最小   .MaximumScale = 9  '最大   .MajorUnit = 4   '目盛間隔 End With という処理でした、、。またまた言葉不足でスミマセン。これって、やっぱり出来ないものなんですか?

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

あけましておめでとうございます。 ごめんなさい。 以前に回答したつもりが、どうやら決定ボタンを押し忘れていたようで、回答されていないことに今気が付きました。 手後れでしょうか? ActiveSheet.ChartObjects("グラフ 1").Activate With ActiveChart.Axes(xlValue)   .MinimumScale = 1  '最小   .MaximumScale = 9  '最大   .MajorUnit = 4   '目盛間隔 End With

HUKAHIRE
質問者

お礼

 あけましておめでとうございます。なんだか、あきらめかけていたところです、、。TAGOSAKU7さんの返事で、またやる気が出てきました!

HUKAHIRE
質問者

補足

 いろいろ調べたところ xlCategoryの方を変えられれば私のしたいことは実現できそうなんです。でもEXCElの不具合?で出来なそうなんですが、これって出来るんですかね??

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

ChartAreaだったかな?未検証です。 その中にいろいろ情報が入ってると思ったけど・・・ ちがったら、マクロを記録して行いたい処理を記憶させて、コードを見たらなんとなくわかると思いますが・・・

HUKAHIRE
質問者

お礼

 あひさしぶりです。毎度お世話になっているHUKAHIREです。こうも寒いと温かいものが恋しくなりますね。フカヒレスープ飲みたいなー。

HUKAHIRE
質問者

補足

 すみません、ChratAreaの使い方を教えて下さい。ちなみにマクロは教えてもらってちょっと試してみたんですけど、意味不明でした。、、、私には、、。

関連するQ&A

  • Excelグラフ目盛線の開始値の変更方法

    Excelのグラフにおいて目盛線は軸の最小値より補助間隔に合わせるようになっています。 この目盛線を軸の最小値とは関係なく別の開始値を持って設定することは可能でしょうか? 例:軸の最小値を2として目盛線を10,20,30の間隔で引く やりたいことは対数目盛表示でデータの最小値は3から使用して、目盛線を10,100,1000と引いてそれに合わせた補助目盛線を書きたいと思っています。 軸の最小値を3とした時点で目盛線が3,30,300となってしまいます。 補助目盛線の間隔が3から4にかけてが最大となる幅のグラフが見づらいため変更したいです。 よろしくお願いします。

  • エクセルのグラフで目盛りを変更したい

    こんにちは。 エクセル2000を使っています。 縦軸の目盛りで、分布が極端な場合 (たとえば最小値0、最大値10000だけど、0~100と8000~10000にデータが偏っている場合)、 よく縦軸を波線で区切ったグラフがありますよね。 あれを作りたいのですが、できるのでしょうか? 教えてください、お願いします。

  • エクセル グラフの目盛範囲の変更

    エクセルでグラフを作成するとデータ範囲から自動的に目盛の範囲が決まりますが、複数のグラフを比較する為に目盛範囲を変更したいのですがどうすればよいのでしょうか?

  • エクセル グラフの目盛表示を変更するには?

    エクセル2003です。 負の値のある棒グラフを作成しております。 例えば値の範囲が-245から795まであった場合、Y軸の最小値を-250、最大値を800に設定して、目盛り間隔を100とすると、グラフ上の目盛りは-250、-150、-50、50、......750となってしまいます。 つまり最小値を基準にしてしまいます。 これを最小値はそのままに-250にして、目盛の割付を0を基準にできないでしょうか?つまり、目盛りは-200、-100、0、100、.....800といった具合にすることは可能でしょうか。

  • エクセルの2軸表示について

    実験のデータをまとめるのにエクセルを使ってるんですが 友人のエクセルデータでは二軸になっても軸の書式設定でx軸の目盛タブはy軸同様 最大値、最小値、目盛り間隔・・・という項目になってるのですが 私のエクセルで二軸にしたら目盛タブは y数値軸との交点、目盛りラベルの間隔、目盛りの間隔 となっていてx軸の数値を上手く整理できません。 どうしたら友人と同じようにできるのでしょうか? 友人はどうやったか忘れてしまったそうなんです。 ちなみにExcel2000を使っています。 グラフは散布図で一軸のグラフを作ってから後でグラフの種類を選択し 二軸にしました。 また、初めから二軸にしてやってもみましたが同じ結果でした。 どうかよろしくおねがいします。

  • エクセルのグラフで・・・。

    エクセルの集合縦棒グラフで、 数値軸の [軸の書式設定]-[目盛]タブから指定した目盛間隔〔2000000〕と最大値〔30000000〕の変更をするんですが、変更したのと違う目盛間隔〔5000000〕と表示されます。何度しても変更されません。どうすれば変更した数字が表示されますか?

  • Excel98でグラフ数値軸の表示単位変更

    こんにちは。Excel98でグラフの数値軸の表示単位を「千」などに変更できないのでしょうか? Excel2000では数値軸の書式設定→目盛→表示単位→百、千、万などに変更できます。しかし98にはその機能がないらしいのです。友人が困っているのですが、私は2000なのでよくわかりません。知っている方教えて下さい。

  • エクセルのX軸のグラフの目盛について

    エクセルで作ったグラフのX軸の目盛の値を自分の任意の数値に変更したいです。    例えば自動では1,2,3,4,5~となりますが、 それを0.1、1,3、1.6~と少数の値にしたいのですが、 Xの軸の書式設定で、目盛の間隔や目盛ラベルの間隔に 小数点を入れると「整数が正しくありません」とでて 入力することができません。y軸のほうは最大値や最小値 や目盛間隔の値だあって設定することができるのですが、 x軸ではどうしたらいいのでしょうか?    簡単に言うと、出来上がったグラフのx軸の目盛 を消して自分が指定した値を入れたいということです。  

  • エクセルのマクロ

    こんにちは。 今悩んでいます。 VB6.0で、電圧計、電流計を制御して、VBからエクセルを起動、その値をVBでエクセルにデータを送り、グラフを作るのですが。 グラフを作る作業が、同じ作業なので、エクセルのマクロを使い、グラフを作成しようとしていたのですが・・・。 どのエクセルのファイルからでもできるように、個人用のマクロブックで、グラフを作成したのですが、VBからエクセルを起動し、データの転送して、グラフをマクロで作成しようと思ったら、マクロがないんです。 しかし、デスクトップにあるエクセルのショートカットから起動してみると、マクロがあるのです。 VBから起動したエクセルでは、マクロは使えないんでしょうか? 詳しい方よろしくお願いします。

  • Excelでグラフの目盛線について

     Excelでグラフを書きますよね。棒グラフ、折れ線グラフなんでも良いのですが横、縦軸に目盛りの線がありますよね。それを最大5本までとかって設定できるものですか?  目盛りの間隔を手動で変えて設定することはできるのですが、5本なら5本にしてデータの最大値-最小値を5で割って目盛り間隔を自動で取りたいのです。言ってる本人が良く分からなくなって来ちゃいましたけど、、。金曜までに終わらせないと実家に帰れなくなっちゃうのでどなたか助けて下さーい。

専門家に質問してみよう