multipleろぼっと

ロボットとかいろいろ CNCとかも

自分用メモ

エクセルで複数のCSVファイルを結合しシートごとにグラフを作成する

 

____________________________________

Sub ファイル結合()

' ファイル結合 Macro

' Keyboard Shortcut: Ctrl+Shift+A

'Sub CSVImportSheets()

Dim FileNames As Variant

Dim fn As Variant

Filename = Application.GetOpenFilename( _

FileFilter:="CSV (カンマ区切り)(*.csv),*.csv", _

Title:="Please select CSV files for integration", MultiSelect:=True)

For Each fn In Filename

Worksheets.Add After:=Worksheets(Worksheets.Count)

With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & fn, Destination:=Range("A1"))

.Name = ActiveSheet.Name

.FieldNames = True

.RowNumbers = False

.FillAdjacentFormulas = False

.PreserveFormatting = True

.RefreshOnFileOpen = False

.RefreshStyle = xlInsertDeleteCells

.SaveData = True

.AdjustColumnWidth = False

.RefreshPeriod = 0

.TextFilePromptOnRefresh = False

.TextFilePlatform = 932

.TextFileStartRow = 1

.TextFileParseType = xlDelimited

.TextFileTextQualifier = xlTextQualifierDoubleQuote

.TextFileConsecutiveDelimiter = False

.TextFileTabDelimiter = False

.TextFileCommaDelimiter = True

.TextFileTrailingMinusNumbers = True

.Refresh BackgroundQuery:=False

End With

ActiveSheet.UsedRange.QueryTable.Delete

 Range("F1").Select

    ActiveCell.FormulaR1C1 = "=RC[-2]*1000000"

    Range("F1").Select

    Selection.AutoFill Destination:=Range("F1:F2500")

    Range("F1:F2500").Select

    Range("J7").Select

    ActiveSheet.Shapes.AddChart.Select

     ActiveChart.ApplyChartTemplate ( _

        "C:\Users\********.crtx")

    ActiveSheet.Shapes("グラフ 1").IncrementLeft 99.75

    ActiveSheet.Shapes("グラフ 1").IncrementTop -15.75

    ActiveChart.SeriesCollection(1).XValues = Range("F1:F2500")

    ActiveChart.SeriesCollection(1).Values = Range("e1:e2500")

Next fn

End Sub