【问题标题】:VBA code to select the min of an array用于选择数组最小值的 VBA 代码
【发布时间】:2016-03-08 01:02:33
【问题描述】:

我需要选择包含今天日期最小值的单元格,仅查看日期。问题是当月份滚动时,当我希望宏选择 28 时,它会选择 01。我的第一个想法是设置数组(28、29、30、31),因为每个月都是一样的,但我还是想不通找出如何选择包含该数组最小值的单元格。

所以我有这个备用代码列表。最后 6 个数字是参考日期 I.E. “02362113015”是在11/30/15备份的,我只需要保留4天的备份,所以代码需要找到最早的日期然后复制整个代码。

A                    B
02362113015         30
03030210115         01
02455812815         28
03604583115         31
02458182915         29

提前感谢您的任何提示或建议。

这是我在代码方面获得的最远距离,然后我在空白处填写的内容对我来说毫无意义。

Dim cel As Range
Dim Rng As Range

Set Rng = H1: H5

For Each cel In Rng
    If cel = (28 Or 29 Or 30 Or 31) Then
       cel.Activate
    End If
Next

【问题讨论】:

  • 如何对两列进行排序并获得 A 中的第一个单元格?我是否正确理解了您的问题?
  • 请解释一下你到底在做什么并分享宏
  • 已更新。对不起,如果我以一种令人困惑的方式提问。

标签: arrays vba excel date


【解决方案1】:

如果你设置一个范围,你应该这样设置:

Set Rng = Range("H1:H5")

除此之外,此代码对我有用:

Sub test()


Dim cel As Range
Dim Rng As Range

Set Rng = Range("H1:H8")

For Each cel In Rng
    If cel.Value = 28 Or cel.Value = 29 Or cel.Value = 30 Or cel.Value = 31 Then
        cel.Activate
    End If
Next cel
End Sub

您想对相关单元格执行的任何操作都应放在 If 语句中。

【讨论】:

  • 这段代码会先寻找最小的数字吗?如果 30 出现在 28 之前?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-28
  • 2015-03-08
  • 2015-10-15
  • 2019-05-09
相关资源
最近更新 更多