當前位置:成語大全網 - 新華字典 - 急急急啊,關於VBA的字典問題

急急急啊,關於VBA的字典問題

用這個:

Sub AAA()

Dim I As Long, N As Long, M As Long

Dim Max As Single, Ar, Br

Columns("I:M").ClearContents

Ar = Range("A2:F" & [A65536].End(3).Row)

Br = Range("G2:M6")

For I = 1 To UBound(Ar)

Select Case Ar(I, 1)

Case Br(1, 1) To Br(1, 2)

N = 1

Case Br(2, 1) To Br(2, 2)

N = 2

Case Br(3, 1) To Br(3, 2)

N = 3

Case Br(4, 1) To Br(4, 2)

N = 4

Case Br(5, 1) To Br(5, 2)

N = 5

Case Else

N = 0

End Select

If N <> 0 Then

Br(N, 3) = Ar(I, 2) + Br(N, 3)

Br(N, 4) = Ar(I, 3) + Br(N, 4)

Br(N, 5) = Ar(I, 4) + Br(N, 5)

Br(N, 6) = Ar(I, 5) + Br(N, 6)

Br(N, 7) = Ar(I, 6) + Br(N, 7)

End If

Next

For I = 1 To 5

Max = 0

For N = 3 To 7

If Br(I, N) > Max Then Max = Br(I, N)

Next

Br(I, 3) = Max

Next

Range("G2:I6") = Br

End Sub

不用下面這個。

Sub AAA()

&nbsp;&nbsp;&nbsp;&nbsp;Dim I As Long, N As Long, M As Long

&nbsp;&nbsp;&nbsp;&nbsp;Dim Max As Single, Ar, Br

&nbsp;&nbsp;&nbsp;&nbsp;Columns("I").ClearContents

&nbsp;&nbsp;&nbsp;&nbsp;Ar = Range("A2:F" &amp; [A65536].End(3).Row)

&nbsp;&nbsp;&nbsp;&nbsp;Br = Range("G2:M6")

&nbsp;&nbsp;&nbsp;&nbsp;N = 1

&nbsp;&nbsp;&nbsp;&nbsp;For I = 1 To UBound(Ar)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select Case Ar(I, 1)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case Br(1, 1) To Br(1, 2)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N = 1

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case Br(2, 1) To Br(2, 2)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N = 2

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case Br(3, 1) To Br(3, 2)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N = 3

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case Br(4, 1) To Br(4, 2)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N = 4

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case Br(5, 1) To Br(5, 2)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N = 5

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case Else

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N = 0

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End Select

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If N &lt;&gt; 0 Then

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Br(N, 3) = Ar(I, 2) + Br(N, 3)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Br(N, 4) = Ar(I, 3) + Br(N, 4)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Br(N, 5) = Ar(I, 4) + Br(N, 5)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Br(N, 6) = Ar(I, 5) + Br(N, 6)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Br(N, 7) = Ar(I, 6) + Br(N, 7)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If

&nbsp;&nbsp;&nbsp;&nbsp;Next

&nbsp;&nbsp;&nbsp;&nbsp;For I = 1 To 5

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Max = 0

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For N = 3 To 7

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Br(I, N) &gt; Max Then Max = Br(I, N)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Br(I, 3) = Max

&nbsp;&nbsp;&nbsp;&nbsp;Next

&nbsp;&nbsp;&nbsp;&nbsp;Range("G2:I6") = Br

End Sub