当前位置: 首页 > web >正文

Excel中运行VB的函数

“插入” -》 “模块”

Function FormatCodeFlex(inputStr As String, Optional defaultVal As String = "0") As StringOn Error GoTo ErrorHandlerDim parts() As StringDim i As Integer' 使用 "-" 分割字符串parts = Split(inputStr, "-")' 确保至少有3个部分,不足的用默认值填充ReDim Preserve parts(2)For i = 0 To 2If parts(i) = "" Then parts(i) = defaultValNext i' 格式化每个部分FormatCodeFlex = Format(parts(0), "00") & "-" & _Format(parts(1), "000") & "-" & _Format(parts(2), "000")Exit FunctionErrorHandler:FormatCodeFlex = "输入无效!"
End Function

可能需要编译一下。 不记得了

调用

记录一下备忘。

写一个 excel中的vba函数, 判断 01-000-000 中的最后三位如果是 000 就返回0,如果不是000,就替换为000,并且返回整个字符串。

Function ProcessBOMCode(inputStr As String) As String
On Error GoTo ErrorHandler

Dim parts() As String
Dim lastPart As String

' 检查输入是否为空
If Trim(inputStr) = "" Then
ProcessBOMCode = "输入为空"
Exit Function
End If

' 使用 "-" 分割字符串
parts = Split(inputStr, "-")

' 检查是否有足够的部分
If UBound(parts) < 2 Then
ProcessBOMCode = "格式错误,需要xx-xxx-xxx格式"
Exit Function
End If

' 获取最后三位
lastPart = parts(2)

' 判断最后三位是否为"000"
If lastPart = "000" Then
ProcessBOMCode = 0 ' 返回数字0
Else
' 替换最后三位为"000",并返回整个字符串
parts(2) = "000"
ProcessBOMCode = parts(0) & "-" & parts(1) & "-" & parts(2)
End If

Exit Function

ErrorHandler:
ProcessBOMCode = "处理错误"
End Function

写一个excel的vba 处理 1 1-1 1-1-1 1-1-2 1-2 这样的不定长数据,去掉最后的一个数据。

Function RemoveLastPart(inputStr As String) As String
On Error GoTo ErrorHandler

Dim parts() As String
Dim result As String
Dim i As Integer

' 检查输入是否为空
If Trim(inputStr) = "" Then
RemoveLastPart = ""
Exit Function
End If

' 使用 "-" 分割字符串
parts = Split(inputStr, "-")

' 如果只有一个部分,直接返回空字符串
If UBound(parts) = 0 Then
RemoveLastPart = ""
Exit Function
End If

' 重新组合除最后一部分之外的所有部分
For i = 0 To UBound(parts) - 1
If i > 0 Then result = result & "-"
result = result & parts(i)
Next i

RemoveLastPart = result
Exit Function

ErrorHandler:
RemoveLastPart = "处理错误"
End Function

Deepseek真强。

http://www.xdnf.cn/news/18509.html

相关文章:

  • 自然处理语言NLP:One-Hot编码、TF-IDF、词向量、NLP特征输入、EmbeddingLayer实现、word2vec
  • Docker安装elasticsearch以及Kibana、ik分词器
  • Day24 目录遍历、双向链表、栈
  • k8s集合
  • GIS在城乡供水一体化中的应用
  • CT02-20.有效的括号(Java)
  • Flutter 线程模型详解:主线程、异步与 Isolate
  • 机器学习中的两大核心算法:k 均值聚类与集成学习
  • Linux之Ansible自动化运维(二)
  • 分布式集群压测+grafana+influxdb+Prometheus详细步骤
  • 小程序个人信息安全检测技术:从监管视角看加密与传输合规
  • 【StarRocks】-- SQL CTE 语法
  • Ubuntu22.04安装VMware Tools
  • STM32H750 CoreMark跑分测试
  • Chrome/360 浏览器 WebUI 资源底层机制解析:共享资源与专属资源的奥秘
  • Web自动化测试:测试用例流程设计
  • 如何处理项目中棘手的依赖版本冲突问题
  • Eino 框架组件协作指南 - 以“智能图书馆建设手册”方式理解
  • PHP:历经岁月仍熠熠生辉的服务器端脚本语言
  • 三大图计算框架深度对比
  • 桥梁设计模式
  • IPSec 安全基础
  • 域名污染怎么清洗?域名污染如何处理?
  • 无人机长距离高速传输技术解析
  • DAY44打卡
  • 2026济南国际展会全攻略:玉米及淀粉深加工技术革新新动态
  • 【C++】继承(详解)
  • 2025-08-21 Python进阶6——迭代器生成器与with
  • 阿里云搭建flask服务器
  • 【C++】类和对象——默认成员函数(中)(附思维导图)