Dim a(10, 10) As Integer, i%, j%, b%
Private Sub Text1_LostFocus()
    b = Val(Text1.Text)
    ReDim a(b, b)
    a(1, 1) = 1
    For j = 2 To b
        a(i, 1) = 1
        For j = 2 To i - 1
            a(i, j) = a(i - 1, j - 1) + a(i - 1, j)
        Next j
        a(i, i) = 1
    Next i
    For i = 1 To b
        For j = 1 To i
            Print Tab((j - 1) * 8 + 1); a(1, j)
        Next j
    Print
    Next i
End Sub

解决方案 »

  1.   

    redim对于2维数组只能重新定义它的高维dim a(,) as integer
    redim a(2,2)
    redim a(2,4)大概就是这样
      

  2.   

    Dim a() As Integer 就可以了
      

  3.   

    你是要这个结果吗?Private Sub Command1_Click()
      Dim a() As Long, i As Long, b As Long
      If IsNumeric(Text1.Text) Then
        b = CLng(Text1.Text)
        ReDim a(b ^ 2 - 1)
        a(0) = 1
        Cls
        For i = 0 To b ^ 2 - 1
          a(i) = ((Not CBool(i Mod b)) And 1) Or (CBool(i Mod b) And ((i Mod b) < (i \ b))) And (a(i - (CBool(i \ b) And b) - (CBool(i Mod b) And 1)) + a(i - (CBool(i \ b) And b))) Or ((CBool(i Mod b) And ((i Mod b) = (i \ b))) And 1)
          If (i Mod b) <= (i \ b) Then Print Tab((i Mod b) * 8 + 1); a(i);
        Next
      End If
    End Sub
      

  4.   

    前面已经定义成定长数组了,后面就不能redim了