Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2797|回复: 6

[已解决]公式所处单元格怎么表示?

[复制链接]
发表于 2014-12-2 16:33 | 显示全部楼层 |阅读模式
Function Mylookup2(s1, s2, s3, ByVal CL As Range)

上述自定义公式中,CL如果表示为公式所处单元格,应该怎么写?即在应用公式时,不必在输入单元格,只需输入查找内容。
现在应用公式:=Mylookup2("优",“良”, “差”, A1)
预期应用公式:=Mylookup2("优",“良”, “差”)
即不用输入单元格A1,

Function Mylookup2(s1, s2, s3, ByVal CL As Range)  
    Dim i, j, z As Long
    i = 0
    j = 0
    z = 0
    C = CL.Column
    For r = 6 To Cells(65536, C).End(xlUp).Row

            Select Case Cells(r, C)  ' 判断 Number 的值。
                Case s1
                    i = i + 1
                Case s2
                    j = j + 1
                Case s3
                    z = z + 1
            End Select
    Next r
Mylookup2 = i & "-" & j & "-" & z
End Function


最佳答案
2014-12-3 15:16
Function Mylookup3(CL As Range)
    Dim x As Range, i&, j&, k&
    For Each x In CL
        Select Case x
        Case "优"
            i = i + 1
        Case "良"
            j = j + 1
        Case "差"
            k = k + 1
        End Select
    Next
    Mylookup3 = i & "-" & j & "-" & k
End Function
优良差统计2.rar (10.47 KB, 下载次数: 2)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2014-12-3 09:21 | 显示全部楼层
附上模板,请老师们修改,谢谢

优良差统计.rar

9.1 KB, 下载次数: 2

回复

使用道具 举报

发表于 2014-12-3 09:34 | 显示全部楼层
我看不懂是在做什么,建议:

1)制造一点数据和结果
2)说明你想要实现的效果

再来看,就好理解些把
回复

使用道具 举报

 楼主| 发表于 2014-12-3 09:38 | 显示全部楼层
本帖最后由 lsggjie 于 2014-12-3 09:59 编辑
爱疯 发表于 2014-12-3 09:34
我看不懂是在做什么,建议:

1)制造一点数据和结果

已经附上附件,你看一下,谢谢!
就是在自定义公式里面,怎么表示公式所在的单元格,即在公式里面自动引用公式所在的单元格,见附件《优良差统计》,
回复

使用道具 举报

发表于 2014-12-3 15:16 | 显示全部楼层    本楼为最佳答案   
Function Mylookup3(CL As Range)
    Dim x As Range, i&, j&, k&
    For Each x In CL
        Select Case x
        Case "优"
            i = i + 1
        Case "良"
            j = j + 1
        Case "差"
            k = k + 1
        End Select
    Next
    Mylookup3 = i & "-" & j & "-" & k
End Function
优良差统计2.rar (10.47 KB, 下载次数: 2)
回复

使用道具 举报

 楼主| 发表于 2014-12-4 08:32 | 显示全部楼层
Function Mylookup2(s1, s2, s3)
    Dim i, j, z As Long, C, R
    i = 0
    j = 0
    z = 0
    C = Application.ThisCell.Column  'C等于公式所在单元格的列数?
     For R = 6 To Cells(65536, C).End(xlUp).Row
              Select Case Cells(R, C)  
                Case s1
                    i = i + 1
                Case s2
                    j = j + 1
                Case s3
                    z = z + 1
              End Select
    Next R
Mylookup2 = i & "-" & j & "-" & z
Application.Volatile
End Function
回复

使用道具 举报

 楼主| 发表于 2014-12-4 08:37 | 显示全部楼层
爱疯 发表于 2014-12-3 15:16
Function Mylookup3(CL As Range)
    Dim x As Range, i&, j&, k&
    For Each x In CL

谢谢你,已经解决了,见6楼。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 16:45 , Processed in 1.140294 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表