Excel精英培训网

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

[已解决]求助:V代码引用工作表数组函数

[复制链接]
发表于 2010-9-16 10:24 | 显示全部楼层 |阅读模式

如题,条件和要求都在附件中的结果表中。请指点,谢谢各位老师和同学们。

k4iyYCJE.rar (5.6 KB, 下载次数: 15)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-9-16 10:37 | 显示全部楼层    本楼为最佳答案   

直接这样不就可以了么

Application.Evaluate("MAX((数据!$A$2:$A$11=A" & a+1 & ")*(数据!$B$2:$B$11))")

[此贴子已经被作者于2010-9-16 10:39:06编辑过]
回复

使用道具 举报

发表于 2010-9-16 10:38 | 显示全部楼层


Private Sub Worksheet_Activate()
    Dim R
    With Sheets("数据")
        R = .Range("A65536").End(xlUp).Row
        a = 1
        For x = 2 To R
        z = Application.CountIf(.Range("A2:A" & x), Range("A" & x))
            If z = 1 Then
                Cells(a + 1, 1) = .Cells(x, 1)
                m = Application.Evaluate("=MAX((数据!$A$2:$A$" & R & "=A2)*(数据!$B$2:$B$" & R & "))") '=MAX((数据!$A$2:$A$11=A2)*(数据!$B$2:$B$11))这个引用数组应该怎么写?
                Cells(a + 1, 2) = m
                a = a + 1
            End If
        Next x
    End With
End Sub

回复

使用道具 举报

 楼主| 发表于 2010-9-16 11:05 | 显示全部楼层

QUOTE:
以下是引用那么的帅在2010-9-16 10:38:00的发言:

Private
  Sub Worksheet_Activate()
    Dim R
    With Sheets("数据")
        R = .Range("A65536").End(xlUp).Row
        a = 1
        For x = 2 To R
        z = Application.CountIf(.Range("A2:A" & x), Range("A" & x))
            If z = 1 Then
                Cells(a + 1, 1) = .Cells(x, 1)
                m = Application.Evaluate("=MAX((数据!$A$2:$A$" & R & "=A2)*(数据!$B$2:$B$" & R & "))") '=MAX((数据!$A$2:$A$11=A2)*(数据!$B$2:$B$11))这个引用数组应该怎么写?
                Cells(a + 1, 2) = m
                a = a + 1
            End
  If
        Next x
    End
  With
End
  Sub

结果不正确,是怎么回事?请指教。只得到第一个人的值

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 06:48 , Processed in 0.258106 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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