play9091 发表于 2012-4-29 19:58

這樣子應該就可以了吧!哈!沒有參加上課,純練手!!!

chenzhi_juan 发表于 2012-4-29 21:45


Sub 按钮2_Click()

Dim arr1(1 To 17, 1 To 4), arr2(1 To 1000, 1 To 1)

Dim x As Integer, y As Integer, k As Integer

For x = 1 To 17

For y = 1 To 4

      If Cells(x, y) < 0 Then
   
      arr1(x, y) = 0
      
      k = k + 1
      
      arr2(k, 1) = Cells(x, y)
      
      Else
      
      arr1(x, y) = Cells(x, y)
      
    End If
   
Next y

Next x

Range("g1:j17") = arr1
Range("m1:m" & k) = arr2

End Sub
H19: chenzhi_juan

libenwen2011 发表于 2012-4-30 14:57

看看作业,学习                     

yu20078 发表于 2012-5-6 18:49

Sub 要求1()
Dim arr1, a, b
arr1 =
For a = 1 To 17
    For b = 1 To 4
      If arr1(a, b) < 0 Then arr1(a, b) = 0
    Next b
Next a
= arr1
End Sub

Sub 要求2()
Dim arr2, arr3, i, x, y, z
arr2 =
i = WorksheetFunction.CountIf(, "<0")
ReDim arr3(1 To i)
For x = 1 To 17
    For y = 1 To 4
      If arr2(x, y) < 0 Then
            z = z + 1
            arr3(z) = arr2(x, y)
      End If
    Next y
Next x
Range("m1").Resize(i) = WorksheetFunction.Transpose(arr3)
End Sub

风行天边789 发表于 2012-5-9 14:26

校长辛苦了。谢谢!
页: 1 2 [3]
查看完整版本: VBA第13课作业题:VBA数组小试牛刀