Excel中运行VB的函数

"插入" -》 "模块"

vbscript 复制代码
Function FormatCodeFlex(inputStr As String, Optional defaultVal As String = "0") As String
    On Error GoTo ErrorHandler
    Dim parts() As String
    Dim i As Integer
    
    ' 使用 "-" 分割字符串
    parts = Split(inputStr, "-")
    
    ' 确保至少有3个部分,不足的用默认值填充
    ReDim Preserve parts(2)
    For i = 0 To 2
        If parts(i) = "" Then parts(i) = defaultVal
    Next i
    
    ' 格式化每个部分
    FormatCodeFlex = Format(parts(0), "00") & "-" & _
                    Format(parts(1), "000") & "-" & _
                    Format(parts(2), "000")
    
    Exit Function
    
ErrorHandler:
    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真强。

相关推荐
蓝创工坊Blue Foundry10 小时前
PaddleOCR 本地部署教程:小模型 OCR 如何完成字段提取到 Excel
pdf·自动化·ocr·excel·paddlepaddle·paddle
wujian831112 小时前
怎么用AI做excel表格 AI导出鸭来救场
人工智能·ai·excel·豆包·deepseek·ai导出鸭
用户2986985301412 小时前
React 前端处理 Excel 工作表复制的技术实践
javascript·react.js·excel
蓝创工坊Blue Foundry1 天前
个人藏书太多怎么整理?用 OCR 字段提取汇总成电子书目
pdf·ocr·excel·文心一言·paddlepaddle·paddle
蓝创工坊Blue Foundry2 天前
扫描件批量转 Excel:先确认要整表还原还是字段汇总
python·pdf·ocr·excel
Dylan的码园2 天前
从Excel到数据库:数据分析全流程与Kettle ETL实战指南
数据库·数据分析·excel
元Y亨H2 天前
Pandas 解析 Excel 导致的内存溢出(MemoryError)
python·excel
姜小二2 天前
QAxObject实现读写excel
嵌入式硬件·excel
E_ICEBLUE2 天前
Python 拆分 Excel 文件:使用 Spire.XLS 实现按工作表、行、列和条件拆分
python·excel
蓝创工坊Blue Foundry3 天前
批量提取图片中的数字:怎样整理成一张可核对的 Excel
python·ai·ocr·excel·paddlepaddle