CSVファイルを一瞬でインポート 無駄な手作業を繰り返ししていないか?!!


CSVファイルを一瞬でインポートしたい・・・・・

無駄な手作業を繰り返ししていないか?!!
こんなことで大切な時間を無駄遣いしないように!!

エクセルで読み込むときに・・手間取るのがこれ!!
勝手に数値にしたり、列の指定が面倒くさかったりで・・
なにがなにやら!! って時があります。

これを一瞬で読み込む方法
コードをつけて
実際に動かしてみる事として・・・手順を説明をしていきます。

サンプルのCSVデータ 2600件位のものを準備してみました。
サンプルデータ .csvこれをダウンロードしてみて・・
ワークシートと同じフォルダーに保存しておく。

1.ワークシートを準備します。(サンプルデータを同じフォルダーに保存しておきます。)拡張子はXlsmで

2.VBAを開きます。

 

3.標準モジュールを追加します。

4.その場所に・・・コードを書きます。

コードは以下のもの

‘————————————————————————–

Sub Csvin2()
Dim CsvPath As String
Dim FileNum As Long
Dim i As Long
Dim n As Long
Dim myStr() As String
Dim myRec As String
Dim FSO As Object
Dim FileRow As Long
Dim csvArray() As Variant
Dim TitlArray() As Variant
Dim MaxCol As Long
Dim Col As Integer
Dim Row As Long
Dim Title As String

Sheets(“Sheet1”).Select

TitlArray = Array(“納品日”, “伝票番号”, “取引先”, “行番”, “商品コード”, “商品名”, “入数”, “C/S数”, “バラ数”, “合計数”, “単価”, “横計”, “税区分”)

Range(Cells(2, 2), Cells(2, UBound(TitlArray) + 2)) = TitlArray

CsvPath = ThisWorkbook.Path & “\” & “OgamaUriage.csv”

Set FSO = CreateObject(“Scripting.FileSystemObject”)

With FSO.OpenTextFile(CsvPath, 8)

FileRow = .Line
.Close

End With

Set FSO = Nothing

FileNum = FreeFile

i = 0
MaxCol = 0

Open CsvPath For Input As #FileNum

Range(“A:N”).NumberFormat = “@”
Range(“H:M”).NumberFormat = “###,##0”
Range(“E:E”).NumberFormat = “#”

Do While Not EOF(FileNum)

Line Input #FileNum, myRec

myStr = Split(myRec, “,”)

If MaxCol < UBound(myStr) Then MaxCol = UBound(myStr)

ReDim Preserve csvArray(0 To FileRow, 0 To MaxCol)

For n = 0 To UBound(myStr)

csvArray(i, n) = myStr(n)

Next n

i = i + 1

Loop

Close #FileNum

Range(Cells(3, 2), Cells(FileRow + 3, MaxCol + 2)) = csvArray

Cells(1, 1).Select

End Sub

‘————————————————————————–

 

5.コードを記載した状態です。

6.標準モジュールのコードを書いたところで ▷ 印で実行をすると・・


  

7.一瞬で書き込んできます。

8.2600行です。マスター関係を読み込むときは・・とても便利です。

9.ボタン一つで実行したい場合は、書き込んだコードを呼び出すボタンをセットします。

 

10.シート上で、ドラッグ&ドロップして、位置サイズを指定します
この状態でボタンをダブルクリックすると

 

11.そのボタンをクリックした場合のイベントが開くので・・。

 

 

14.標準モジュールに書いた Sub の次にかいている “Csvin2” がコードの名称なので
  これを呼び出すコードを

 

15.ボタンを押した場合のイベントに Call ***と書いて呼び出すようにしておけば

 

15.セットしたら、デザインモードを終了させて

15.セットしたら、デザインモードを終了させ、シートをクリアしてボタンをクリックしてみます。

15.セットしたら、デザインモードを終了させ、シートをクリアしてボタンをクリックしてみます。

でてきたら成功!!
どんとはれ!!

コードがわからない方は・・・
自分で調べる!! ネットに落ちています。!! これ原則!!
そうすると身につきます。
実務で何回も繰り返しているとしみ込んでいきます。

“知行合一”が目的。やらずして語ること勿れ!!
行動するといろいろと、問題が出てきて、
それを乗り越える知恵が必ず沸いてきます。
だからさまざまと工夫を繰り返す。
評論家ではなく、実務家なので・・
理屈やクイズ・資格や試験のための勉強ではなく、実務で使うための体験実践!!。

学校とか研修で教えられたものは、すぐ忘れるし、
分かった様な気がするだけで、実務にはすぐ使えないし、
また・・使わないから、身につかないですよね・・・(^_^;)
必要なことから覚えていく方が早いです。

 

,

コメントを残す

メールアドレスが公開されることはありません。

2021年2月
1234567
891011121314
15161718192021
22232425262728
最近の記事
カテゴリ
月別アーカイブ