~/blog/importing-csv-files-and-converting-to-tables-with-vba
Published on

VBAでCSVファイルをインポートしてテーブルにする

1742文字3分で読めます–––
閲覧数
Authors
  • avatar
    Name
    Shou Arisaka nyapp.buzz/shou
    short bio
    Z世代の情報技術者。Next.jsで自作SNSを個人開発中。

ExcelのVBAスクリプトを使用しCSVデータ・ファイルをインポートしてテーブルに出力する作業を自動化します。

CSVファイルをインポートをvbaで自動化する

ファイルを開きテーブルを作成し出力するVBAスクリプトは以下になります。(以下一部引用)

以下のコードの "C:\pg\node_tmp\out.csv" を任意のファイル名、ファイルパスに変更し、 "Sheet1"を指定のシート名に変更します。


Sub openfile()

    Set ws = ActiveWorkbook.Sheets("Sheet1")
    With ws.QueryTables.Add(Connection:="TEXT;" & "C:\pg\node\_tmp\out.csv", Destination:=ws.Range("A1"))
        .TextFileParseType = xlDelimited
        .TextFileCommaDelimiter = True
        .Refresh
    End With

    On Error GoTo nothingtodelete
        Sheets("Data").QueryTables(1).SaveData = False
        Sheets("Data").QueryTables.Item(1).Delete
nothingtodelete:

End Sub

以下のプログラムはExcelで以下VBAの紐付けられたファイルを開いた場合にスタートアップで自動的に以下プログラムを実行し、csvファイルを読み込むVBAスクリプトの例です。 以下のVBAプログラムはプロジェクト下のThisWorkbookに保存します。


Sub openfile()

    Set ws = ActiveWorkbook.Sheets("Sheet1")
    With ws.QueryTables.Add(Connection:="TEXT;" & "C:\pg\node\_tmp\out.csv", Destination:=ws.Range("A1"))
        .TextFileParseType = xlDelimited
        .TextFileCommaDelimiter = True
        .Refresh
    End With

    On Error GoTo nothingtodelete
        Sheets("Data").QueryTables(1).SaveData = False
        Sheets("Data").QueryTables.Item(1).Delete
nothingtodelete:

End Sub

Private Sub Workbook_Open()

    Call openfile
    Call colorize

    Dim dummy As Integer
    dummy = 0
End Sub

なお、この記事におけるVBAプログラムの一部または全ては以下より引用しています。

vba - Is there a way to import data from .csv to active excel sheet? - Stack Overflow User hatchnet - Stack Overflow

参考:

vba - Is there a way to import data from .csv to active excel sheet? - Stack Overflow
avatar

Shou Arisaka

情報技術者 / Z世代プログラマー / SaaSアプリやSNSを開発
今すぐ話そう!

15歳でWordPressサイトを立ち上げ、ウェブ領域に足を踏み入れる。翌年にはRuby on Railsを用いたマイクロサービス開発に着手し、現在はデジタル庁を支えたNext.jsによるHP作成やSaaS開発のプロジェクトに携わりながら、React.js・Node.js・TypeScriptによるモダンなウェブアプリの個人開発を趣味でも行う。
フロントエンドからバックエンドまで一貫したアジャイルなフルスタック開発を得意とし、ウェブマーケティングや広告デザインも必要に応じて担当、広告運用・SEO対策・データ分析まで行う低コストかつ高品質な顧客体験の提供が好評。
国内外から200万人を超える人々に支えられ、9周年を迎えるITブログ「yuipro」の開発者、デザイナーでありライター。現在ベータ段階の自作SNS「nyapp.buzz」を日本一の国産SNSとするべく奮闘中。

Created with Fabric.js 5.2.4 何かご質問がありますか?