ここから本文です

Excelで縦一列(A列)に数値が長々と入力されており、その一部の範囲を選択し作成...

oh_********さん

2017/10/518:26:54

Excelで縦一列(A列)に数値が長々と入力されており、その一部の範囲を選択し作成したグラフがあります。

VBAを使用して範囲を一行ずつずらしながら画像データとして保存したいのですが、下に記述したものではただ上書き保存していくだけです。個別に保存するためにはどうすればいいですか?
また、指定した位置でこの工程を終了する方法も知りたいです。
Excel 2016です。
VBAど素人です。
________________

Sub グラフのデータ範囲の変更()

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")

Dim cht As Chart
Set cht = ws.ChartObjects("test").Chart

Dim i As Long

i = 3
Do While ws.Cells(i, 1).Value <> ""

With cht
.SetSourceData Union(ws.Range("C1:C25"), ws.Range("A1:A25").Offset(i - 1, 0)) 'グラフの対象範囲を変更
.Refresh 'グラフの表示を更新
End With

'グラフの描画のためにWindowsに処理を渡す
DoEvents
DoEvents

Worksheets("Sheet1").ChartObjects("test").Chart.Export "C:\Users\ユーザー名\Documents\TEST\test.gif", "GIF"
i = i + 1
Loop

End Sub

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
52
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

sk_********さん

2017/10/518:50:05

画像として保存する際に、違う名前になるように保存することで、解決します。

一つの例ですが、
"C:\Users\ユーザー名\Documents\TEST\test.gif", "GIF"
この部分を、次のようにします。
"C:\Users\ユーザー名\Documents\TEST\test" & i - 2 & ".gif", "GIF"

変数 i はループする度に値が1ずつ加算されています。それをファイル名に利用します。

  • 質問者

    oh_********さん

    2017/10/519:09:03

    ありがとうございます。
    おかげさまで画像が湯水のように湧いてきました!

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる