Excel

複数あるcsvデータを読み込みグラフ化して図で保存する

2021-06-19

フォルダ内にあるscvファイルのデータをもとにグラフ化した図を保存する方法です。

グラフはpdfやpngで保存します。

参考:1ファイルのみの出力方法・エクセルグラフを図(png・jpeg等)として保存またはPDF保存する

グラフ図の保存方法の流れ

はじめにフォルダ内のファイル名を取得します。

ファイル名取得方法:フォルダ内のファイル名を取得しシートに書き出す

フォルダ内にあるcsvファイル

シート「設定」のA列のcsvを開き、シート「データ」にcsvデータを読み込みます。

フォルダ内のcsvデータを読み込む

シート「グラフ1」の図をpdfまたはpngで保存します。

グラフ

日本の統計が閲覧できる政府統計ポータルサイト「e-Stat」のデータを利用しました。

サンプルコード

以下はpdf保存の例です。

Sub sample1()
    Dim fPath As String: fPath = "F:\sample\"
    Dim dataPath As String: dataPath = "TEXT;" & fPath & "取込データ\"
    Dim csvName As String
    Dim i As Long
    Dim WSs As Worksheet: Set WSs = Worksheets("設定")
    Dim WSd As Worksheet: Set WSd = Worksheets("データ")
    
    Application.ScreenUpdating = False
    
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        csvName = WSs.Cells(i, 1)
        Dim fName As String: fName = WSs.Cells(i, 2)
        WSd.Range("A3").CurrentRegion.ClearContents
        
        With WSd.QueryTables.Add( _
            Connection:=dataPath & csvName, _
            Destination:=WSd.Range("A3"))
            .TextFileParseType = xlDelimited
            .TextFileCommaDelimiter = True
            .Refresh BackgroundQuery:=False
            .Delete
        End With
        
        WSd.Cells(1, 1).Value = fName
        With Charts(1)
          .ChartTitle.Text = fName
          .ExportAsFixedFormat Type:=xlTypePDF, Filename:=fPath & fName & ".pdf"
        End With
    Next i
    
    MsgBox "作成しました。", vbInformation
    
    Application.ScreenUpdating = True
End Sub

11行目:A列の最終行まで繰り返し

pngで保存する場合は、28行目を変更します。

 .Export Filename:=fPath & fName & ".png", filtername:="PNG"

-Excel
-

© 2021 オフィスのQ&A