Excel VBA質問箱 IV

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

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


59235 / 76738 ←次へ | 前へ→

【22210】Re:csvファイルから、カンマの数を得る。
発言  sa  - 05/2/11(金) 16:45 -

引用なし
パスワード
   すみませんいきなり
>    For i = 0 To 8 ' <-- (1)
>      Input #fno, sts '↑今までは1件のデータの長さが固定だったから数字を指定できた。
>      col(i) = sts
>    Next

のところ
    Dim col As Variant ’←に変更

    Line Input #fno, sts
    col = Split(sts,",") ’ split関数でcolの配列にstsのカンマ区切ってデータを入れます
   
    Ubound(col)
   すれば、col配列の 最大の係数が判るので
   それを使えばうまくいけませんか?


▼Aiz さん:
>お世話になってます。
>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 発言

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