| 
    
     |  | いろいろアドバイス有難うございました。まだまだ勉強不足なのでいろいろ迷惑かけてしまいすみませんでした。 
 Input #1, myArrayの所を Line Input #1, myArray
 になおし、カンマでデータを区切るsplit関数を用いる事により
 実行できました。そのソースを載せておきます。
 
 CSVファイルのデータ
 1,太郎,1960/7/27,1979/4/1,GPM2級,無所属,部長
 2,次郎,1965/2/21,1980/4/1,PM3級,無所属,部長
 
 Option Explicit
 
 '  TextFileを絶対Pathで指定
 Private Const INFILE = "C:/java/CSV/0371.csv"
 Private Sub CommandButton1_Click()
 
 Dim i As Long, j As Integer
 Dim myRange As String
 Dim myRange1 As String
 Dim myRange2 As String
 Dim myArray As Variant
 Dim myArray2 As Variant
 Dim myFileName As String
 Dim mywb As Workbook
 Dim mySht As Worksheet
 
 Open INFILE For Input As #1
 
 On Error GoTo Macro1_Err
 
 On Error GoTo 0
 With ActiveSheet
 .UsedRange.Select
 Selection.ClearContents
 .Range("A1").Select
 End With
 '新しいブックを作成
 Workbooks.Add
 'ファイル名の指定
 myFileName = "0371.xls"
 Set mywb = Workbooks(2)
 mywb.SaveAs Filename:=myFileName
 Set mywb = Nothing
 
 On Error Resume Next
 'ワークシートの指定
 Worksheets(1).Name = "新規"
 On Error GoTo 0
 Set mySht = Nothing
 
 i = 0
 
 Do Until EOF(1)
 i = i + 1
 '配列に読み込む
 Line Input #1, myArray
 'カンマ区切りで配列に書き込む
 myArray2 = Split(myArray, ",", -1)
 
 'アクティブブックとアクティブシートの指定
 Workbooks("0371.xls").Activate
 Worksheets("新規").Activate
 
 '指定したセルにデータを書き込む
 For j = 1 To 7
 Select Case j
 Case 1
 myRange2 = ActiveSheet.Cells(1, 1).Address
 Case 2
 myRange1 = ActiveSheet.Cells(3, 1).Address
 ActiveSheet.Range(myRange1).Value = "氏名"
 myRange2 = ActiveSheet.Cells(3, 3).Address
 ActiveSheet.Range(myRange2).Value = myArray2(1)
 Case 3
 myRange1 = ActiveSheet.Cells(5, 1).Address
 ActiveSheet.Range(myRange1).Value = "生年月日"
 myRange2 = ActiveSheet.Cells(5, 3).Address
 ActiveSheet.Range(myRange2).Value = myArray2(2)
 Case 4
 myRange1 = ActiveSheet.Cells(7, 1).Address
 ActiveSheet.Range(myRange1).Value = "入社年月日"
 myRange2 = ActiveSheet.Cells(7, 3).Address
 ActiveSheet.Range(myRange2).Value = myArray2(3)
 Case 5
 myRange1 = ActiveSheet.Cells(9, 1).Address
 ActiveSheet.Range(myRange1).Value = "職能"
 myRange2 = ActiveSheet.Cells(9, 3).Address
 ActiveSheet.Range(myRange2).Value = myArray2(4)
 Case 6
 myRange1 = ActiveSheet.Cells(11, 1).Address
 ActiveSheet.Range(myRange1).Value = "所属"
 myRange2 = ActiveSheet.Cells(11, 3).Address
 ActiveSheet.Range(myRange2).Value = myArray2(5)
 Case Else
 myRange1 = ActiveSheet.Cells(13, 1).Address
 ActiveSheet.Range(myRange1).Value = "位"
 myRange2 = ActiveSheet.Cells(13, 3).Address
 ActiveSheet.Range(myRange2).Value = myArray2(6)
 End Select
 Next
 
 Loop
 Exit Sub
 Macro1_Err:
 MsgBox "INFILE Error!"
 Exit Sub
 
 
 End Sub
 >>jakaさんへ
 いろいろ迷惑かけてすみませんでした。少ない情報でいろいろアドバイスして頂き有難うございました。今度質問する時は気をつけたいと思います。
 
 >>Fukuさんへ
 そのとうりでした。配列に入れた時点で1978だけになっていました。
 
 
 |  |