| 
    
     |  | みなさん、明けましておめでとうございます。 下記のプログラムは「りんさん」が過去に作成された
 プログラムですが、これを利用したいのです・・・・すいません
 テキストファイルをSheet1に5デ−タ目から3000個
 その後3000個づつB列からC列へと読み込みたいのですが
 どうすれば良いでしょうか?(だいたい150列位のなると思いますが)
 但し2行目から3002行目の間に読み込みたいのです
 1行目と3003行目からは関数がありますから
 テキストファイルの1デ−タ〜5デ−タ目は不要な
 デ−タです。
 
 Sub test()
 Application.ScreenUpdating = False
 Dim tf As Boolean
 Ifile = Application.GetOpenFilename("csv ファイル (*.csv), *.csv")
 If Ifile <> False Then
 '3000Rec毎に分割する
 Rmax& = 3000
 '開始
 tf = False: II& = 0: Nmax% = 0
 Open Ifile For Input As #1
 Do Until EOF(1)
 II& = II& + 1: Line Input #1, A$
 If II& Mod Rmax& = 1 Then
 Nmax% = Nmax% + 1
 cfile$ = "Page_" + Format(Nmax%, "000") + ".csv"
 Open cfile$ For Output As #2
 Application.StatusBar = "分割中! " + cfile$
 tf = True
 End If
 '
 Print #2, A$
 '
 If II& Mod Rmax& = 0 Then
 Close #2: tf = False
 End If
 Loop
 Close #1
 If tf = True Then Close #2: tf = False
 '
 'ブックに読み込む
 Dim wb1 As Workbook, wb2 As Workbook
 For NN% = 1 To Nmax%
 cfile$ = "Page_" + Format(NN%, "000") + ".csv"
 Application.StatusBar = "読み込み " + cfile$
 Set wb2 = Workbooks.Open(cfile$, Format:=2)
 If NN% = 1 Then
 wb2.Worksheets(1).Copy
 Set wb1 = ActiveWorkbook
 Else
 With wb2
 .Worksheets(1).Copy after:=wb1.Worksheets(NN% - 1)
 End With
 End If
 wb2.Saved = True
 wb2.Close
 Kill cfile$
 Next
 wb1.Saved = True
 Set wb1 = Nothing: Set wb2 = Nothing
 Else
 MsgBox "キャンセル", vbCritical
 End If
 Application.ScreenUpdating = True
 Application.StatusBar = False
 End Sub
 
 |  |