Excel精英培训网

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

[已解决]取数问题

[复制链接]
发表于 2009-12-28 12:42 | 显示全部楼层 |阅读模式
因数据较多,用公式谋算太慢,想用VBA,请帮忙! 97sAiJ33.rar (6.48 KB, 下载次数: 10)
发表于 2009-12-28 12:53 | 显示全部楼层

=IF(Sheet2!A2>Sheet2!B2,Sheet2!A2,Sheet2!B2)

用函数很快了,干嘛还用vba呢

回复

使用道具 举报

发表于 2009-12-28 12:55 | 显示全部楼层    本楼为最佳答案   


Sub Test()
    Dim ArrYS, ArrJG, i&
    ArrYS = Sheet2.Range("A2:B" & Sheet2.Range("A65536").End(xlUp).Row)
    ReDim ArrJG(1 To UBound(ArrYS))
    For i = 1 To UBound(ArrYS)
        If ArrYS(i, 1) > ArrYS(i, 2) Then
            ArrJG(i) = ArrYS(i, 1)
        Else
            ArrJG(i) = ArrYS(i, 2)
        End If
    Next i
    Sheet1.Range("A2").Resize(UBound(ArrJG), 1) = Application.Transpose(ArrJG)
End Sub

另外,其实用函数的话。A2输入:

=MAX(Sheet2!A2,Sheet2!B2)

回复

使用道具 举报

发表于 2009-12-28 13:03 | 显示全部楼层

=MAX(Sheet2!A2:B2)
回复

使用道具 举报

发表于 2009-12-28 13:24 | 显示全部楼层

QUOTE:
以下是引用amulee在2009-12-28 12:55:00的发言:


Sub Test()
    Dim ArrYS, ArrJG, i&
    ArrYS = Sheet2.Range("A2:B" & Sheet2.Range("A65536").End(xlUp).Row)
    ReDim ArrJG(1 To
   UBound(ArrYS))
    For i = 1 To
   UBound(ArrYS)
        If ArrYS(i, 1) > ArrYS(i, 2) Then
            ArrJG(i) = ArrYS(i, 1)
        Else
            ArrJG(i) = ArrYS(i, 2)
        End
   If
    Next i
    Sheet1.Range("A2").Resize(UBound(ArrJG), 1) = Application.Transpose(ArrJG)
End
   Sub

另外,其实用函数的话。A2输入:

=MAX(Sheet2!A2,Sheet2!B2)

要好好学习学习数组实例了

回复

使用道具 举报

发表于 2009-12-28 14:48 | 显示全部楼层

学习!!!

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-1 16:01 , Processed in 0.360934 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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