この記事はVBAを使ったことない、初心者向けにVBAの使い方を画像を多めに解説します。
中身を知らなくてもコピペで使える様にしています。
※Microsoft® Excel for Mac バージョン16.93.1です。

CSVファイルをEXCELに取り込む

やりたいこと

VBA
CSVファイルをEXCELに取り込みたい。
ここにとある猫カフェのとある月の日毎の出勤表CSVファイルがあります。(※仮想データです)
このCSVファイルをEXCELに取り込みたいと思います。VBAを使って重複しているデータを削除したい。

以下の記事の中でVBAを使える設定、コードを貼り付ける手順を動画付きで解説しています。
初心者の方はこちらをお先にご覧ください。VBA
VBAの事前準備とコードの貼り付け方
こちらからCSVファイルと完成後のEXCELファイルをダウンロードできます。CSVファイルEXCELファイル※EXCELを開くと以下のようなメッセージが表示されます。VBAがあるためです。「マクロを有効にする」をクリックしてください。VBA

手順

VBA
1
まずEXCELを新規作成してください。
シートの名前は「Sheet1」としてください。
VBA
2
VBEditorを開いて以下のコードを貼り付けてください。
1Sub CSV取込()
2    Application.ScreenUpdating = False
3    
4    '画面更新を停止
5    Sheets("Sheet1").Range("A1").CurrentRegion.ClearContents
6        
7    With Sheets("Sheet1").QueryTables.Add(Connection:= _
8      "TEXT;" & ThisWorkbook.Path & "/cat_cafe.csv" _
9      , Destination:=Sheets("Sheet1").Range("A1"))
10      '列の幅を自動調整しない
11      .AdjustColumnWidth = False
12      '取り込み元ファイルの文字コードUTF-8
13      .TextFilePlatform = 65001
14      '取り込み開始行の設定
15      .TextFileStartRow = 1
16      'カンマ区切りでインポート
17      .TextFileCommaDelimiter = True
18      '文字列引用符。""で囲まれた物を文字列にする
19      .TextFileTextQualifier = xlTextQualifierDoubleQuote
20      'テキストファイルの各列に適用されるデータ型を指定する定数を配列形式で設定。
21      '1:標準(数値)、2:文字列、5:日付、9:削除(表示しない)、
22      .TextFileColumnDataTypes = Array(5, 2, 2, 2, 5)
23      '外部データ範囲(QueryTable)を更新。(上で作られたクエリはRefreshして初めて実行される。)
24      .Refresh BackgroundQuery:=False
25      'QueryTableを削除してただのデータにする。
26      .Delete
27    End With
28
29    ' 画面更新を再開
30    Application.ScreenUpdating = True
31
32End Sub
33
カスタマイズ方法はこちら
VBA
3
①先ほどのVisual Basic Editorに戻り、貼り付けたテキストの中のどこでもいいので、 クリック。
(ここでは真ん中らへんをクリック)
②画面上部の実行マーク()をクリック。
VBA
4
CSVファイルが取り込まれました。
VBA
このEXCELを保存するときに、ファイル名.xlsxだと、左のメッセージが表示されます。
「はい」をクリックすると、先ほど作成したVBAは破棄され保存されます。特にVBAが必要なければこちらで。
もし、VBAを保存したい場合は、「いいえ」をクリックして、ファイル名.xlsmとして保存してください。VBA
戻る
画像
書いた人:ふう
mimu エンジニア
「世界で使われるアプリ」を目指してNext.jsやTailwindCSSで開発中。
VBAは新人時代に請求や工数の集計業務を任され、早く開発案件に入りたくて、
自力で勉強して自動化したのがきっかけです。
React|Next.js|TailwindCSS|Java|VBA|PHP
猫好きで朝活派です。読書、ジグソーパズル、お寿司(マグロ、サーモン)が好きです。
ご利用にあたっての注意事項
動作環境について
本サンプルコードは、特定のExcelバージョンで動作確認を行っています。他の環境では動作を保証できません。
バックアップを推奨
実行前に必ずデータのバックアップを行ってください。予期しない不具合やデータ損失が発生する可能性があります。
セキュリティについて
マクロの実行にはセキュリティリスクが伴います。信頼できる環境でのみ使用し、不審なコードの混在に注意してください。
改変・再利用について
本コードの改変・再利用は自由ですが、自己責任でお願いします。改変後の動作保証はできません。
免責事項
本コードの利用によるいかなる損害や不具合についても、一切の責任を負いかねます。