Excel VBA質問箱 IV

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

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


60103 / 76732 ←次へ | 前へ→

【21280】「ファイルにこれ以上データがありません...
質問  Aiz  - 05/1/18(火) 13:10 -

引用なし
パスワード
   CSVファイルを読み込み、エクセルファイルに貼り付ける処理で、不明なことがあります。
csvファイルに値が入っている場合は正常に処理されるのですが、値が入っていない場合「ファイルにこれ以上データがありません」というエラーメッセージが表示されます。
値が入っていない場合、値は空白セル表示にしたいのですが、やり方がわかりませんでした。
よろしくお願いします。

ちなみに以下にあるB.csvの場合は値が空白の場合、空白セルで表示されました。
H.csvの場合にエラーが表示されます。

H.csvの中身(どちらも値が入っている場合)
AA,CC

こういう場合にエラーになる↓
AA,

,CC

B.csvの中身
,,103,,102001,AAAAAAAAAA,1,135-12,0,10,1,1,現像,,1,現像,0,6,1


test.exlのソース
Const csv1 = "H.csv"
Const csv2 = "B.csv"

Sub Auto_Open()
  Dim fname As String
  Dim fno As Integer
  Dim col(0 To 18) As Variant
  Dim i As Integer
  Dim sts As String
  
  'ファイル名
  fname1 = ActiveWorkbook.Path & "\" & csv1
  fname2 = ActiveWorkbook.Path & "\" & csv2
  
  'CSVファイルの内容を貼り付ける(H.csv)
  fno = FreeFile
  On Error GoTo file_not_found
  Open fname1 For Input As #fno
  On Error GoTo 0
  If EOF(fno) = False Then
    '一旦String型で受けてVariant型に入れなおす
    For i = 0 To 1
      Input #fno, sts
      col(i) = sts
    Next
    Range(Cells(2, 19), Cells(2, 20)).Value = col
  End If
  Close #fno
  
  'CSVファイルの内容を貼り付ける(B.csv)
  fno = FreeFile
  On Error GoTo file_not_found
  Open fname2 For Input As #fno
  On Error GoTo 0
  l = 4
  Do Until EOF(fno)
    '一旦String型で受けてVariant型に入れなおす
    For i = 0 To 18
      Input #fno, sts
      col(i) = sts
    Next
    
    l = l + 1
    Range(Cells(l, 2), Cells(l, 20)).Value = col
  Loop
  Close #fno
  
  'オートフォーマット
  Cells(4, 2).CurrentRegion.AutoFormat _
    Format:=xlRangeAutoFormatLocalFormat3, _
    Number:=False, _
    Font:=False, _
    Alignment:=False
  
  'CSVファイルを削除する
  'Kill fname1
  'Kill fname2
  
  Exit Sub
  
file_not_found:
  MsgBox "CSVファイルが見つかりません", vbCritical + vbOKOnly, "システムエラー"

End Sub
1 hits

【21280】「ファイルにこれ以上データがありません... Aiz 05/1/18(火) 13:10 質問
【21284】Re:「ファイルにこれ以上データがありませ... Jaka 05/1/18(火) 13:44 回答
【21286】Re:「ファイルにこれ以上データがありませ... Aiz 05/1/18(火) 13:54 質問
【21288】Re:「ファイルにこれ以上データがありませ... Jaka 05/1/18(火) 14:07 回答
【21289】Re:「ファイルにこれ以上データがありませ... Aiz 05/1/18(火) 14:10 お礼

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