Excel VBA質問箱 IV

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

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


39723 / 76732 ←次へ | 前へ→

【42118】Re:csvファイルにて
回答  りん E-MAIL  - 06/9/1(金) 15:37 -

引用なし
パスワード
   質問(煮詰まった) さん、こんにちわ。

別解になりますが。
一括で読み込み、区切位置の指定で分割しています。
Sub test()
  '|"AAAA,BBBB",2,3,01|→|AAAA,BBBB|2|3|01|
  
  Dim AA As String, RR As Long, LL As Integer, Lmax As Integer
  With Application.ActiveSheet
    .Columns(1).NumberFormat = "@"
    Open "test.csv" For Input As #1
     Do Until EOF(1)
      Line Input #1, AA
      RR = RR + 1
      .Cells(RR, 1).Value = AA
      LL = Len(AA) - Len(Application.WorksheetFunction.Substitute(AA, ",", "")) 'おおよそのカンマの数
      If Lmax < LL Then Lmax = LL
     Loop
    Close #1
    ReDim fidt(1 To Lmax, 1 To 2)
    For LL = 1 To Lmax
      fidt(LL, 1) = LL '列番号
      fidt(LL, 2) = 2 '文字列
    Next
    .Columns(1).TextToColumns DataType:=xlDelimited, Comma:=True, _
    FieldInfo:=fidt()
  End With
  Erase fidt
End Sub

こんな感じです

0 hits

【41852】csvファイルにて 質問(煮詰まった) 06/8/24(木) 10:12 質問
【41853】Re:csvファイルにて Jaka 06/8/24(木) 10:35 発言
【41872】Re:csvファイルにて Hirofumi 06/8/24(木) 19:08 回答
【41893】Re:csvファイルにて 質問(煮詰まった) 06/8/25(金) 11:30 お礼
【42112】Re:csvファイルにて 質問(煮詰まった) 06/9/1(金) 13:28 質問
【42120】Re:csvファイルにて Hirofumi 06/9/1(金) 19:56 回答
【42204】Re:csvファイルにて 質問(煮詰まった) 06/9/4(月) 10:10 お礼
【42118】Re:csvファイルにて りん 06/9/1(金) 15:37 回答

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