You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现仅当myString第7位为4时将其复制到Excel?

修正后的VBA实现方案

原代码的问题在哪?

原代码用InStr(7, myString, "4") > 0是检查从第7位开始往后的子串里有没有"4",但你要的是第7位字符本身必须是"4",而且逻辑还完全搞反了:原代码是第7位及以后有"4"就不复制,没有才复制,和你的需求正好相反。

正确代码实现

用Mid函数精准提取第7位字符做判断,同时把逻辑调整成符合需求的版本:

Dim myString As String
' 先给myString赋值,比如 myString = "S123456789"

' 检查第7位是否为"4",是就复制到Excel表格
If Mid(myString, 7, 1) = "4" Then
    ' 示例:将内容写入Sheet1的A列下一个空行
    Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Offset(1, 0).Value = myString
End If

代码说明

  • Mid(myString, 7, 1):从myString的第7位开始,提取1个字符,精准定位到你要检查的位置
  • 条件判断逻辑直接匹配需求:只有第7位是"4"时,才执行复制操作,否则不做任何处理

内容的提问来源于stack exchange,提问作者AnBa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 23:47:12