システムから作成したテキストファイル

一行目に項目名がある場合、ない場合

あるけど

必要とする場合、不要な場合

 

ない場合は、2行目から書き出す

一行目の項目は、別途準備しておいて

n = 2 と二行目以降にすれば良いです。

 

データに項目名があっても不要な場合

Open "ファイルの指定" For Input As #1
n = 1
Do Until EOF(1)
Line Input #1, buf

の部分を

Open ”ファイルの指定" For Input As #1
Line Input #1, buf '取り合えず1行取り出して何もしない

n = 2
Do Until EOF(1)
Line Input #1, buf

Line Input #1, buf を

ループの前に一度実行させます。

ちょっとしたひらめきです。

もう一つ

全ての列を取り出すだけなら

Range(”A" & j)..Value = Tmp(0)

Range(”B" & j)..Value = Tmp(1)

Range(”C" & j)..Value = Tmp(2)

の部分を

Tmp = Split(buf, ",")

For j = 0 To UBound(Tmp)
   Cells(i, j) = Tmp(j)
Next j

と云う方法も

UBound(Tmp) は

並列変数Tmpの最後の番号です。

手抜きと思われるかもしれませんは

コードはシンプルになります。