続・CSV | インターネットショップを陰で支える発送代行屋さん/トランスサード

インターネットショップを陰で支える発送代行屋さん/トランスサード

発送代行業務を請け負っています。
ネットショップ様のお手伝い業務を致します。




こんにちは、Tです。







前回CSVファイルからExcelへ取り込む方法を書きましたが、あれを毎日の作業でやるとなると少し面倒です。





なので今回は(既にやられている方もいると思いますが)ボタン1つで取り込める、VBAマクロのコードを紹介したいと思います。



」(ダブルクォーテーション)付きにも対応していると思うので、(恐らく)正確に取り込めると思います

世に出回っている一般的なコードを使いやすいように自分でアレンジしてみました。




Sub CSVファイル読込みサンプル()


Dim vFName As Variant, WS As Variant


Dim intFree As Integer


Dim strSp() As String, stRec As String


Dim i As Integer, j As Integer


Dim Ys As Range


Dim Path As String




Set WS = CreateObject("Wscript.Shell")


Path = WS.SpecialFolders("Desktop") & "\"


ChDir Path




'
ダイアログボックスでCSVファイル選択


vFName = Application.GetOpenFilename(FileFilter:="CSV
ファイル(*.csv),*.csv", _



Title:="CSV
ファイルの選択")


If vFName = False Then Exit Sub




Set Ys = ThisWorkbook.ActiveSheet.Cells

'Set Ys = ThisWorkbook.Sheets("シート名").Cells'他のシート用


Ys.Clear




intFree = FreeFile '
空番号を取得


Open vFName For Input As #intFree 'CSV
ファィルを開く


i = 1




Do Until EOF(intFree)


Line Input #intFree, stRec '1
行読み込み


strSp = Split(stRec, ",") '
カンマ区切りで配列へ


Range(Ys(i, 1), Ys(i, UBound(strSp) + 1)) = strSp '
配列吐き出し


i = i + 1


Loop




Close #intFree




Ys.Replace what:="""", replacement:="" '
ダブルクォーテーション削除用



End sub




読み込んだCSVファイルはアクティブなシート(表示されているシート)に全て文字列として吐き出されます。






上記コードを、Excelを開いて一番左上にある「ファイル→オプション→リボンユーザーの設定→開発にチェック→OKクリック」でExcelに開発タブが表示されます。





Excelに戻って、開発→マクロ→マクロ名を入れて作成をクリック。





この画面になると思うので、Sub~End Subの間に上記コードをコピー&ペーストして保存すれば完了です。(コードのSub~End Subをはずしてください。)





使用するときは開発タブのマクロからになります。

※使用は自己責任で!



こんなこともできますよ!というお話です。



最後までお付き合いくださってありがとうございました。

(画像、コードが見づらかったら、ごめんなさい。)







少しでも皆様のお役に立てれば嬉しいです…。








また次も頑張ります!




↓ランキング参加中!クリックして頂ければ非常に喜びます♪


人気ブログランキングへ

アメクリップ
ブログを紹介し合って人気ブロガーになれる【アメクリップ】