Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


59268 / 76738 ←次へ | 前へ→

【22176】csvファイルから、カンマの数を得る。
質問  Aiz  - 05/2/10(木) 15:35 -

引用なし
パスワード
   お世話になってます。
csvファイルからデータを読み込んでエクセルファイルに貼り付ける作業をやっていてわからなくなりました。

以下、csvのデータとソースです。
★csvファイル
1,大阪,101,E-6,1234000,5200,52360,125200,45520
2,大阪,102,C-4,2354,2354,2354,2354,2354

★ソース
Const csv1 = "H.csv"
Const csv2 = "B.csv"

Sub Auto_Open()
  Dim fname As String
  Dim fno As Integer
  Dim col(0 To 255) As Variant '<-- 可変のため最大値で設定
  Dim i As Integer
  Dim sts As String
  Dim flg As Integer
  Dim ii As Integer
  
  'ファイル名
  fname1 = ActiveWorkbook.Path & "\" & csv1
  fname2 = ActiveWorkbook.Path & "\" & csv2
  
  'CSVファイルの内容を貼り付ける(ボディ部)
  fno = FreeFile
  On Error GoTo file_not_found
  Open fname2 For Input As #fno
  On Error GoTo 0
  l = 7
  flg = 1 '上段の場合は1をセット。下段の場合は2をセットする。
  Do Until EOF(fno)
    '一旦String型で受けてVariant型に入れなおす
    For i = 0 To 8 ' <-- (1)
      Input #fno, sts '↑今までは1件のデータの長さが固定だったから数字を指定できた。
      col(i) = sts
    Next
    
    l = l + 1
    Range(Cells(l, 1), Cells(l, 9)).Value = col
  Loop
  Close #fno
  
  'オートフォーマット
  Cells(7, 1).CurrentRegion.AutoFormat _
    Format:=xlRangeAutoFormatLocalFormat3, _
    Number:=False, _
    Font:=False, _
    Alignment:=False
  
  Exit Sub
file_not_found:
  MsgBox "CSVファイルが見つかりません", vbCritical + vbOKOnly, "システムエラー"
End Sub

今まではcsvの1件の長さが決まっていたため(1)の部分は8のように値を固定できていたんですが、csvによっては(1)の部分が変動するため固定値を設定することができなくなりました。
それでまず1.の部分に変数をセットし、csvの1件のデータを読んでカンマの数を数えて、(1)の部分の変数に値をセットしようと思っているのですが、1行を読み込んでカンマの数を数えるというやりかたがわかりません。

どなたか助言をお願いします。
説明が下手で申し訳ありません。説明不足なら言ってください。
よろしくお願いします。

0 hits

【22176】csvファイルから、カンマの数を得る。 Aiz 05/2/10(木) 15:35 質問
【22179】Re:csvファイルから、カンマの数を得る。 Jaka 05/2/10(木) 16:02 回答
【22186】Re:csvファイルから、カンマの数を得る。 Jaka 05/2/10(木) 16:39 回答
【22194】Re:csvファイルから、カンマの数を得る。 Aiz 05/2/10(木) 17:38 お礼
【22193】Re:csvファイルから、カンマの数を得る。 りすりす 05/2/10(木) 17:29 発言
【22195】Re:csvファイルから、カンマの数を得る。 Aiz 05/2/10(木) 17:44 発言
【22197】Re:csvファイルから、カンマの数を得る。 Hirofumi 05/2/10(木) 18:55 発言
【22210】Re:csvファイルから、カンマの数を得る。 sa 05/2/11(金) 16:45 発言
【22265】Re:csvファイルから、カンマの数を得る。 sa 05/2/14(月) 11:26 発言

59268 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free