Hydd_Whisper 2023-02-13 02:38 采纳率: 66.7%
浏览 181
已结题

VBA find函数查找有误

vba 区域. find函数找到第二个单元格却忽略了第一个匹配单元格。
vba 区域. find函数找不到区域第一个,总是找到的第二个
timeRngs的区域范围(选中区域B列)如下图

img


需要找到该区域第一个内容为8:30:00单元格(自定义格式)并选中,所有单元格内容为"8:30:00"都是从最后一个复制过来的,确保内容格式一致。VBA 代码如下:

img

而实际上被选中的是第二个内容为“8:30:00”的单元格,

img


但接下来同一天的其它时间段又是正确的。如下图:

img

但是第二天的第一个时间段"8:30:00"又出现了这种情况(第二个时间单元格被选中):

img

  • 写回答

13条回答 默认 最新

  • Hello World, 2023-02-13 17:45
    关注

    Range的Find有一个After选项,默认值为ActiveCell(或者区域的第一个单元格),从活动单元格下一单元格开始查找。
    所以第一个会被跳过。

    可以手动判断第一个是否符合条件,或者将区域转为数组(主要是提升处理速度,如果不在意速度直接遍历单元格)再遍历单元格,判断字符串是否符合要求(比如用instr,判断是否包含指定字符串)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(12条)

报告相同问题?

问题事件

  • 系统已结题 2月23日
  • 已采纳回答 2月15日
  • 创建了问题 2月13日

悬赏问题

  • ¥50 sft下载大文阻塞卡死
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失
  • ¥15 springboot+vue 集成keycloak sso到阿里云
  • ¥15 win7系统进入桌面过一秒后突然黑屏
  • ¥30 backtrader对于期货交易的现金和资产计算的问题
  • ¥15 求C# .net4.8小报表工具
  • ¥15 安装虚拟机时出现问题
  • ¥15 Selenium+docker Chrome不能运行
  • ¥15 mac电脑,安装charles后无法正常抓包