Excel VBA林木冠幅、分枝胸径字符串的拆解
一、功能
diacrown_dia(Rng, front=True)
函数:将记录林木冠幅的字符串Rng
(如“5×7”或“5*7”)拆解为东西冠幅(如5)和南北冠幅(如7)。front
参数为真时,获取字符串的前半部分(5),否则获取后半部分(7)。DBH_dia(Rng, main=True)
函数:将记录林木胸径的字符串Rng
(如“5+5+5+5”或“5*4”,代表有4个分枝,其中第一个是主枝,其他为分枝)拆解为主枝胸径(如5)和分枝胸径(如“5+5+5”)。main
参数为真时,获取主枝胸径,否则获取分枝胸径。
二、代码
Function decrown_dia(Rng, Optional front As Boolean = True)If TypeName(Rng) = "String" Thendecrown_dia = RngElseIf TypeName(Rng) = "Range" Thendecrown_dia = Rng.ValueElsedecrown_dia = CVErr(xlErrValue)GoTo failEnd IfIf InStr(1, decrown_dia, "×") > 0 ThenIf front Thendecrown_dia = Val(Mid(decrown_dia, 1, InStr(1, decrown_dia, "×") - 1))Elsedecrown_dia = Val(Mid(decrown_dia, InStr(1, decrown_dia, "×") + 1))End IfElseIf InStr(1, decrown_dia, "*") > 0 ThenIf front Thendecrown_dia = Val(Mid(decrown_dia, 1, InStr(1, decrown_dia, "*") - 1))Elsedecrown_dia = Val(Mid(decrown_dia, InStr(1, decrown_dia, "*") + 1))End IfElsedecrown_dia = CVErr(xlErrName)End If
fail:
End FunctionFunction DBH_dia(Rng, Optional main As Boolean = True)If TypeName(Rng) = "String" ThenDBH_dia = RngElseIf TypeName(Rng) = "Range" ThenDBH_dia = Rng.ValueElseDBH_dia = CVErr(xlErrValue)GoTo failEnd IfIf InStr(1, DBH_dia, "+") > 0 ThenIf main ThenDBH_dia = Val(Mid(DBH_dia, 1, InStr(1, DBH_dia, "+") - 1))ElseDBH_dia = Mid(DBH_dia, InStr(1, DBH_dia, "+") + 1)End IfElseIf InStr(1, DBH_dia, ",") > 0 ThenIf main ThenDBH_dia = Val(Mid(DBH_dia, 1, InStr(1, DBH_dia, ",") - 1))ElseDBH_dia = Mid(DBH_dia, InStr(1, DBH_dia, ",") + 1)End IfElseIf InStr(1, DBH_dia, "*") > 0 ThenIf main ThenDBH_dia = Val(Mid(DBH_dia, 1, InStr(1, DBH_dia, "*") - 1))Elsemain_str = Mid(DBH_dia, 1, InStr(1, DBH_dia, "*") - 1)times = Val(Mid(DBH_dia, InStr(1, DBH_dia, "*") + 1)) - 2res = main_strFor i = 1 To timesres = res + "+" + main_strNext iDBH_dia = resEnd IfElseIf InStr(1, DBH_dia, "×") > 0 ThenIf main ThenDBH_dia = Val(Mid(DBH_dia, 1, InStr(1, DBH_dia, "×") - 1))Elsemain_str = Mid(DBH_dia, 1, InStr(1, DBH_dia, "×") - 1)times = Val(Mid(DBH_dia, InStr(1, DBH_dia, "×") + 1)) - 2res = main_strFor i = 1 To timesres = res + "+" + main_strNext iDBH_dia = resEnd IfElseDBH_dia = ""End If
fail:
End Function
Excel VBA林木冠幅、分枝胸径字符串的拆解相关推荐
- 学习Excel VBA(一)——VBA理论初步
学习Excel VBA(一)--VBA理论初步 一.Excel VBA的数据类型 1.基本数据类型 2.枚举类型(类似于C语言的enum) 3.自定义类型(类似于C语言的typedef struct) ...
- Excel VBA 教程
https://www.w3cschool.cn/excelvba/ Excel VBA 编程教程 https://www.yiibai.com/vba VBA教程 http://www.acc ...
- 编写高效Excel VBA代码的最佳实践(一)
很多Excel VBA文章和图书都介绍过如何优化VBA代码,使代码运行得更快.下面搜集了一些使Excel VBA代码运行更快的技术和技巧,基本上都是实践经验的总结.如果您还有其它优化Excel VBA ...
- 编程隐藏child指定列_简单的Excel VBA编程问题解答——完美Excel第183周小结
学习Excel技术,关注微信公众号: excelperfect 下面是2020年11月12日发布的一些简单的ExcelVBA问题的答案,是不是和你想的一样. 1.表达式11mod 3的计算结果是什么? ...
- 用VB.NET(Visual Basic 2010)封装EXCEL VBA为DLL_COM组件(二)
--将EXCEL VBA代码移植到VB.NET .NET是微软公司在2002年推出的全新编程框架,支持多种语言应用程序开发.使用Visual Basic在Microsoft .NET Framewor ...
- 利用Excel VBA SQL做特殊文件浏览器
1.利用JamShellBrowser for ActiveX '转载请注明:本文来自:Excel吧 (www.excelba.com) 详细出处参考:http://www.excelba.com/A ...
- excel vba 如何将日期周几转换成文字_Excel 从精通到入门
Excel 从精通到入门 引子 Excel? 这么简单的东西有学的必要吗?公式加减乘除,诶等等这个日期怎么变成 #### 了,虽然文本数字搞不清楚,但也算熟练使用 Excel 啦. WOW, Awso ...
- 详解xlwings包,用Python代替Excel VBA
详解xlwings包,用Python代替Excel VBA <代替VBA! 用Python轻松实现Excel编程>demo 主要内容 Python语法基础 Excel对象模型:OpenPy ...
- 免费教程《Excel VBA:办公自动化》
为了帮助你在职场中高效工作,我写了一本免费教程<Excel VBA:办公自动化>. 对,你没看错,是完全免费的,点击下面章节的名称就可以学习了. 1.认识VBA:什么是VBA? 知识点:介 ...
最新文章
- R假设检验之Durbin-Watson检验(Durbin-Watson Test)
- 每日一皮:听说学琵琶的都很文弱...
- 乐安全 支持x86_国产EDA又进一步!芯华章发布全新仿真技术:x86、ARM等架构通吃...
- Vue使用v-bind绑定动态数据
- 高度为k的二叉树个数(递推分析)
- 【Python-随机旋转】图像随机旋转及坐标进行旋转原理
- oracle内连接使用,Oracle中的联合查询-自然连接/外连接/内连接
- JDK源码 - BitSet的实现
- LeetCode MySQL 1421. 净现值查询
- WPF--MVVM总结
- 基于JAVA+SpringBoot+Mybatis+MYSQL的在线点餐系统
- Java实现阶乘的和
- html 文件动态加载.PDI 流程图
- java三个技术平台_Java的3个平台有什么区别
- 张鹏程:7月24日阿里云上海峰会弹性计算大神
- 移动硬盘格式化了的数据找到法子
- OpenWrt 内的阿里云盘 WebDAV 做磁盘使用
- 魔兽对战平台官网地图《小兵合成》 最强攻略+合成表+隐藏合成+隐藏英雄+
- Git与Github入门资料
- 词法解析器 | 从零实现一门语言
热门文章
- 基于Protobuf共享字段的分包和透传零拷贝技术,你了解吗?
- 某程序员求助:因考虑不周,签字确认后又拒了虾皮offer,被hr告知进入黑名单,永不录用!以后还能进虾皮吗?...
- 又现“别人家的公司”!网曝腾讯和快手发“阳光普照奖”,给每个员工100股股票!...
- 阿里某P5程序员求助:跟女票要结婚,她家要50万彩礼,女票爸爸说钱不够可以先欠着,这婚能结吗?欠条以后能赖吗?...
- 小米某程序员的忧虑:感觉互联网这两年要凉,突然想回家种地
- 敏捷开发中如何使用看板方法创造价值
- 传统Excel绩效考核和绩效管理系统区别
- OceanBase是如何解决城市级故障容灾的
- 线下活动【西安站】用Leangoo做Scrum敏捷开发实战课(免费)
- 使用知乎「好物推荐」功能要注意什么?怎么使用? 关注问题 知乎指南 使用知乎「好物推荐」功能要注意什么?怎么使用?