Excel精英培训网

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

[已解决]excel指定一个单元格,从下向上取得第一个非空并是数值的值

[复制链接]
发表于 2017-4-3 08:17 | 显示全部楼层 |阅读模式
本帖最后由 kmcla 于 2017-4-3 09:33 编辑

直接用Rng.End(3)。找到的是没有值的公式
因为单元格不固定,要编成函数。向下面这样,我没写对。
Function 上第一个非空(Rng As Range)
Dim myCell As Range

      
      Do
            上第一个非空 = Rng.End(3)
            If 上第一个非空 <> "" Then
            Exit Function
            Else
           上第一个非空 = 上第一个非空.End(3)
            End If
Loop Until Rng.Address(False, False) <> ""

End Function
最佳答案
2017-4-3 09:21
本帖最后由 zjdh 于 2017-4-3 09:27 编辑

Function 上第一个非空(Rng As Range)
   上第一个非空 = Rng.End(3)   
    W=0
    Do
    If 上第一个非空 <> "" Then
        Exit Do
    Else
         W = W + 1
        上第一个非空 = Rng.Offset(-W, 0)
    End If
    Loop
    上第一个非空 = Rng.Offset(-W, 0).Address
End Function





excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-4-3 09:21 | 显示全部楼层    本楼为最佳答案   
本帖最后由 zjdh 于 2017-4-3 09:27 编辑

Function 上第一个非空(Rng As Range)
   上第一个非空 = Rng.End(3)   
    W=0
    Do
    If 上第一个非空 <> "" Then
        Exit Do
    Else
         W = W + 1
        上第一个非空 = Rng.Offset(-W, 0)
    End If
    Loop
    上第一个非空 = Rng.Offset(-W, 0).Address
End Function





回复

使用道具 举报

 楼主| 发表于 2017-4-3 09:30 | 显示全部楼层
zjdh 发表于 2017-4-3 09:21
Function 上第一个非空(Rng As Range)
   上第一个非空 = Rng.End(3)   
    W=0

你是天才,我怎么没想到
我一直想用Address(False, False)定位,没成功
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 22:02 , Processed in 0.355465 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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