Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

请教各位高手,如何才能将vba过程代码修改为函数

一过客  发表于:2013-05-25 22:32:13  
复制

请教各位高手,如何才能将以下过程代码修改为函数,使其在任何工作表和任意单元格均能方便使用,特别是A、B、C等列不连续的情况下。谢谢!

Sub tt()
    With Sheet1
        arr = .[a1].CurrentRegion
        r = .[c65536].End(3).Row
        .Range("d2:d" & r).ClearContents
        For i = 2 To r
            c = arr(i, 3): c1 = arr(i + 1, 3): xstr = ""
            For j = 2 To UBound(arr)
                If InStr(c, "<") > 0 Then
                    jdg = Val(Replace(c, "<", ""))
                    If arr(j, 2) < jdg Then xstr = xstr & arr(j, 1) & "(" & arr(j, 2) & ") "
                End If
               
                If InStr(c, "-") > 0 And InStr(c1, "-") > 0 Then
                    jdg = Val(c): jdg1 = Val(c1)
                    If jdg <= arr(j, 2) And arr(j, 2) < jdg1 Then xstr = xstr & arr(j, 1) & "(" & arr(j, 2) & ") "
                End If
                点击下载此附件
                If InStr(c, "-") > 0 And InStr(c1, "-") = 0 Then
                    jdg = Val(c)
                    If jdg <= arr(j, 2) Then xstr = xstr & arr(j, 1) & "(" & arr(j, 2) & ") "
                End If
               
            Next
            .Cells(i, 4) = Trim(Replace(xstr, ".", "0."))
        Next
    End With
End Sub

 

 

Top
总记录:0篇  页次:0/0 9 1 :