VBA程序解释之学习

Sub pan0()
`建立pano过程
Dim xingming$, x%, y%, zu1$, zu2$, shu1$
`声明变量($为字符型,%为整数型)
Dim m&, Arr, Arr1, Brr
`声明数组(&是长整型  Long)
m = Sheet1.Range("a65536").End(xlUp).Row
`sheet1的最后非空行的行号赋给m
Arr = Sheet1.Range("a1:b" & m)
`(sheet1的a1:bm单元格区域的值赋给数组arr)  假如m=100,则Range("a1:b" & m)=Range("a1:b100")
Arr1 = Sheet2.[a1].CurrentRegion
`sheet2中a1相邻的当前区域的值赋给数组arr1
ReDim Brr(1 To m - 1, 1 To 4)
`重新声明数组brr(包含m-1行,4列)
For y = 2 To m
`y从2到m
   For x = 2 To 5
`x从2到5
        xingming = Arr(y, 2)
`把数组arr的(y行第二列)的值赋给xingming
        zu1 = Arr1(x, 1)
`zu1为数组arr1的第一列x行
        zu2 = Arr1(x, 2)
`zu1为数组arr1的第2 列x行
        If InStr(zu1, xingming) Then
`如果zu1包含xingming,那么
            Brr(y - 1, x - 1) = "1"
` 把1赋值给数组brr的第y-1行,x-1列(因为xy是从2开始递变的,而brr数组要从1开始)
        ElseIf InStr(zu2, xingming) Then
`zu2包含xingming,那么
             Brr(y - 1, x - 1) = "2"
`把字符串2赋值给数组brr的第y-1行,x-1列
        Else
`否则
            Brr(y - 1, x - 1) = "3"
`把字符串3赋值给数组brr的第y-1行,x-1列
        End If
    Next
Next
Sheets("fx1").Cells(2, 1).Resize(UBound(Brr), 4) = Brr
`把数组Brr赋给Sheets("fx1")中单元格B2为起点的单元格区域,(行数=数组的第一维的最大上界,列数=4)
End Sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值