過去ログ

                                Page     307
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼Globalオブジェクトって?  Gou 02/11/7(木) 15:52
   ┗Re:Globalオブジェクトって?  こうちゃん 02/11/8(金) 8:57

 ───────────────────────────────────────
 ■題名 : Globalオブジェクトって?
 ■名前 : Gou
 ■日付 : 02/11/7(木) 15:52
 -------------------------------------------------------------------------
   御世話になります。
以下のプログラムで系列の9つある、
散布図を約100個以上作ろうとしております。
test1のところでエラー”Cells'のメソッドは失敗しました'_globalオブジェクト'がでます。

なぜでしょうか?
あと、この変数(ex,cells(4,x))を利用して、系列の名前を出そうとしても無理でした。
すいませんが、アドバイスお願いします。

Option Explicit
Dim x, y As Integer
Dim Mychart, r1, rx2 As Variant
Dim test1, test2 As String

Sub MakeGraph()

Range("A1").Activate

For x = 5 To 35
  For y = 6 To 35

'''グラフ作成
    Set r1 = Range(Cells(4, x), Cells(10, x))
    Set r1 = Application.Union(r1, Range(Cells(4, y), Cells(10, y)))
    Set Mychart = ActiveSheet.ChartObjects.Add(450, 5, 270, 240)

    Mychart.Chart.ChartType = xlXYScatter
    Mychart.Chart.SetSourceData Source:=r1, PlotBy:=xlColumns
    Mychart.Activate
    
    test1 = Cells(3, x).Value
    test2 = Cells(3, y).Value
 ───────────────────────────────────────  ■題名 : Re:Globalオブジェクトって?  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/11/8(金) 8:57  -------------------------------------------------------------------------
   Gouさん、おはようございます。

レスがつかないようなので・・


>Sub MakeGraph()
>
>Range("A1").Activate
>
>For x = 5 To 35
>  For y = 6 To 35
>
>'''グラフ作成
>    Set r1 = Range(Cells(4, x), Cells(10, x))
>    Set r1 = Application.Union(r1, Range(Cells(4, y), Cells(10, y)))
>    Set Mychart = ActiveSheet.ChartObjects.Add(450, 5, 270, 240)
>
>    Mychart.Chart.ChartType = xlXYScatter
>    Mychart.Chart.SetSourceData Source:=r1, PlotBy:=xlColumns
>    Mychart.Activate
>    

>test1のところでエラー”Cells'のメソッドは失敗しました'_globalオブジェクト'がでます。
Mychartをアクティブにしたままセルを参照しているので、エラーになっています。
たとえば、以下のようにシートをアクティブにしたあとセルを参照してください。

    Sheets(1).Cells(3, x).Activate
>    test1 = Cells(3, x).Value
>    test2 = Cells(3, y).Value

>あと、この変数(ex,cells(4,x))を利用して、系列の名前を出そうとしても無理でした。

こちらは質問の意味が汲み取れません。上記と同じくエラーになるということですか?
それともグラフのタイトルを設定したいのかな?
系列名に設定?はちょっとわかりませんが・・
もう少し詳細に質問してください。

#質問とは関係ありませんが変数の宣言が気になります。
>Dim x, y As Integer
>Dim Mychart, r1, rx2 As Variant
>Dim test1, test2 As String

この宣言では X, test1 はVariantになります。
xをIntegerで、test1をStringで宣言したいなら

Dim x As Integer, y As Integer
Dim test1 As String, test2 As String
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 307