年と名前の 2 つの入力データが別々の 2 つの配列にあります。最初に両方の配列値を並べ替える必要があり、時系列 (年) に並べ替える必要があります。次に、年情報が繰り返される場合は、配列をアルファベット順に並べ替えます。
私は年と名前の両方でソートを完了します。Wordbasic.sortarray
コマンドの使用
入力: (ソート前)
SDF 1997
ELS 1986
PJK 1983
WKL 1995
EFD 1986
出力: (ソート後)
PJK 1983
EFD 1986
ELS 1986
WKL 1995
SDF 1997
Wordで印刷すると、次のように印刷されました。
PJK 1983, ELS 1986, EFD 1986, WKL 1995, SDF 1997.
データを印刷するための私のコードは次のとおりです。誰かがこれを調べて、どこで間違いを犯したのか教えてください。
WordBasic.sortarray SortyearArray()
コード:
Dim I As Integer
Dim J As Integer
Dim K As Integer
Dim N As Integer
Dim Counter As Integer
COUNTER1 = 1
i1 = 1
J1 = 5
For I = 0 To UBound(SortyearArray())
Counter = 1
For J = I + 1 To UBound(SortyearArray())
If SortyearArray(I) = SortyearArray(J) Then
Counter = Counter + 1
MsgBox (Counter)
End If
COUNTER1 = Counter + COUNTER1
Next J
If Counter = 1 Then
For N = i1 To J1
If SortyearArray(I) = Year(N) Then
Selection.TypeText Text:="(" & AuthorName(N) & Year(N) & ")"
End If
Next N
End If
Next I