vba - 在 VBA 中查找最早的日期
问题描述
我在 D 列中有很多日期。我需要找到日期最早的学生,并在消息框中显示以下信息:
Sub Finddate()
Dim Mn As Integer
Mn = Application.Match(Application.Min(Range("D2:D18288")), Range("D2:D18288"), 0)
MsgBox ("For the student with the earliest date (" & Range("D" & Mn) & ") the following information applies: " & Range("k" & Mn) & ", " & Range("L" & Mn) & " and " & Range("M" & Mn))
End Sub
但是,当我运行宏时,它显示错误的日期。表格中最早的日期是 31-08-1996,但它说最早的日期是 01-02-2010,如果我用=min(D2:D18288)
Excel 写它会找到正确的日期。但我也需要它在 VBA 中工作。如果我将最小值更改为最大值,它也会找到错误的日期。但如果我改为写:
Mn = Application.Match(Application.Max(Range("D2:D18288")), Range("D2:D18288"))
它显示了正确的日期,但我需要找到最小日期而不是最大日期,当我将 max 更改为 min 时,出现类型不匹配错误。我真的不知道出了什么问题真的希望有人能帮助我!
解决方案
您的索引关闭了1 ......因为数据从D2而不是D1开始,Mn 指向刚好高于最小值的单元格。
推荐阅读
- jquery - 使用 JQuery Mask Plugin 只大声说出数字(不能以 0 开头)
- vue.js - b-button v-on:click 不会执行功能
- php - 给定两个点,找出第三个点是在形成线的上方还是下方
- ruby - 如何连接给定文件中的两行?
- string - UNITY中与服务器实时发送和接收字符串数据的最佳方式是什么
- linux - 在多行块中迭代 grep 输出
- r - 如何防止在缺少 2 行以上数据的值之间进行插值?
- eclipse - 管理两个不同版本的 Eclipse 插件
- javascript - 从文件输入中选择多个带有 react `ref` 的文件
- r - 书签似乎没有为我闪亮的应用程序保存输入或输出值