2016-10-19 5 views
0

私のサーバー上のPHPファイルからCSV形式のワークシートデータを取得しています。
私は受け取る行数がわからないので、このワークシートのデータを必要に応じてセルの内容を置き換えるオプションでプッシュし、未使用のものを削除します。

このワークシートのデータを解析して別のワークシートを埋める手順を実行します。
上記の理由と同じ理由で、この2番目のワークシートの列を塗りつぶす前にクリアします。ここでExcel:系列データを更新するチャートスタイルを消去する

は私の手順のサンプルです:2番目のワークシート上で

Application.ScreenUpdating = False 

Worksheets("data2").Activate 
Range("A:B:C:D").Clear 

Worksheets("data").Activate 
Set my_range = Range("A:A") 

For i = 1 To my_range.Rows.Count 
    'calculations saved in some vars : var1, var2, ... 
    Cells(i, 1).Value = var1 
    Cells(i, 2).Value = var2 
    '... 
Next i 

Application.ScreenUpdating = True 

、私は2つのワークシートからのデータを使用してグラフを挿入しました。
行数が動的なので、私は自分の列を参照する名前を宣言しました。彼らは次のように設定されています:=OFFSET(data!$A$1;0;0;COUNT(data!$A:$A))

私の問題は私が手続きを実行すると、私は自分のグラフに設定されたすべてのスタイルを失います。 何か間違っていますか?私のチャートのスタイルを維持するオプションはありますか?

答えて

1

私はあなたの問題を誤って読んだので、あなたのセルで書式設定が失われていると思いました。今私はあなたのチャートだと思う。私はあなたと同じことをやっている多くのチャートを持っています。 VBAでChart Seriesを更新しても、フォーマットが失われることはありません。データを消去する前に、すべてのグラフ系列値= {1}を設定します。次に、私はデータをロードした後にシリーズの値を設定する別のマクロがあります。

ここで私は、データを消去する前にシリーズをクリアするために書いたサブです:

Sub clearChart(chartWs As Worksheet, chartName As String) 
    Dim cObj As ChartObject 
    Dim i As Integer 
    Set cObj = chartWs.ChartObjects(chartName) 
    For i = 1 To cObj.Chart.SeriesCollection.count 
    cObj.Chart.SeriesCollection(i).Values = "{1}" 
    cObj.Chart.SeriesCollection(i).XValues = "{1}" 
    Next i 
End Sub 

例:

+0

...助け clearChartのSheet2、 "グラフ1"

希望は素晴らしい作品が。どうもありがとう – zbMax

関連する問題