すなわち、最初は1~100件、次は101~200件、・・・と毎回異なるデータ(抄録)を抽出して分類を行ってみてはどうだろう。
その場合、範囲を指定してデータを抜き取るプログラムが必要となる。それを以下に示す。
Sub run()
データ抽出 101, 100
End Sub
Sub データ抽出(オフセット As Integer, 件数 As Integer)
Dim ws As Worksheet
Dim 疾患名 As String
Dim i As Integer
Dim j As Integer
Dim PATH As String
Dim fno1 As Integer
Dim fno2 As Integer
PATH = ActiveWorkbook.PATH
fno1 = FreeFile
Open PATH & "\コーパス\抄録" & 件数 & ".txt" For Output As #fno1
fno2 = FreeFile
Open PATH & "\コーパス\疾患" & 件数 & ".csv" For Output As #fno2
Set ws = Worksheets("疾患")
Print #fno2, "疾患"
i = 2
Do While ws.Cells(i, 1).Value <> ""
j = 0
疾患名 = ws.Cells(i, 1).Value
Do While 疾患名 = ws.Cells(i, 1).Value
j = j + 1
If j >= オフセット And j < オフセット + 件数 Then
Print #fno2, ws.Cells(i, 1).Value
Print #fno1, ws.Cells(i, 23).Value
End If
i = i + 1
Loop
Loop
Close #fno1
Close #fno2
End Sub
プログラムの使い方は次の通り。
データ抽出 オフセット(先頭のデータの位置), 抽出件数なお、このプログラムを含むExcelファイルがあるフォルダ内に「コーパス」という名前のフォルダをあらかじめ作っておく。抄録、疾患の抽出結果はそのフォルダ内に「抄録XXX.txt」、「疾患XXX.csv」という名前で出力される。 ここで、XXXは抽出件数である。

