excel中点击按钮,完成如下工作:1、将所选文件中的所有“模具号”,取唯一值并排序,填入“模具号”列 2、将“已运行时间”清零 3、逐一对所选文件中每个模具号的每条记录,判断其是否满足“结束时间>开始时间>维护日期“,如是,则将”结束时间-开始时间“累加到”已运行时间“,如不是,跳过

时间: 2024-01-21 07:05:16 浏览: 22
在Excel中,你可以使用VBA宏来实现点击按钮后完成下工作:将所选文件中的所有模具号”取唯一值并排序,填入“模具号”列;将“已运行时间”清零;逐一对所选文件中每个模具号的每条记录,判断其是否满足“结束时间>开始时间>维护日期”,如是,则将“结束时间-开始时间”累加到“已运行时间”,如不是,跳过。以下是一种实现的方法: 1. 首先,打开Excel并创建一个工作簿。 2. 在"开发者"选项卡中,点击"插入"按钮,选择"按钮"控件。 3. 在工作表上绘制按钮的位置。 4. 弹出"分配宏"对话框,选择"新建"来创建一个新的宏。 5. 在宏编辑器中,输入以下代码: ```vba Sub ProcessData() Dim rng As Range Dim cell As Range Dim moldNumbers As Collection Dim startTime As Date Dim endTime As Date Dim maintenanceDate As Date Dim runTime As Double ' 清空已运行时间列 Columns("已运行时间").ClearContents ' 获取所选区域 Set rng = Selection ' 创建模具号集合 Set moldNumbers = New Collection ' 遍历每个单元格 For Each cell In rng ' 将模具号添加到集合中(唯一值) On Error Resume Next moldNumbers.Add CStr(cell.Value), CStr(cell.Value) On Error GoTo 0 Next cell ' 将模具号填入“模具号”列并排序 Range("模具号").ClearContents For Each moldNumber In moldNumbers Range("模具号").End(xlDown).Offset(1).Value = moldNumber Next moldNumber Range("模具号").Sort Key1:=Range("模具号"), Order1:=xlAscending, Header:=xlYes ' 遍历每个模具号 For Each moldNumber In moldNumbers ' 重置运行时间 runTime = 0 ' 遍历每个单元格 For Each cell In rng ' 判断是否为当前模具号的记录 If cell.Value = moldNumber Then ' 获取开始时间、结束时间和维护日期 startTime = cell.Offset(0, 1).Value endTime = cell.Offset(0, 2).Value maintenanceDate = cell.Offset(0, 3).Value ' 判断结束时间>开始时间>维护日期 If endTime > startTime And startTime > maintenanceDate Then ' 累加运行时间 runTime = runTime + (endTime - startTime) End If End If Next cell ' 将运行时间写入相应的单元格 Range("已运行时间").Find(moldNumber).Offset(0, 1).Value = runTime Next moldNumber End Sub ``` 6. 点击保存按钮,并关闭宏编辑器。 7. 返回工作表,右击刚刚绘制的按钮,选择"分配宏"。 8. 在"分配宏"对话框中,选择刚刚创建的宏 "ProcessData",然后点击"确定"。 现在,当你点击该按钮时,Excel将会执行所需的操作:将模具号取唯一值并排序,清零已运行时间,并根据条件逐一处理每个模具号的记录。请注意,在使用该功能前,请确保正确设置了相关的列名称和数据范围。

相关推荐

最新推荐

recommend-type

Python读取excel文件中带公式的值的实现

主要介绍了Python读取excel文件中带公式的值的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

java 中 poi解析Excel文件版本问题解决办法

主要介绍了java 中 poi解析Excel文件版本问题解决办法的相关资料,需要的朋友可以参考下
recommend-type

在django项目中导出数据到excel文件并实现下载的功能

主要介绍了在django项目中导出数据到excel文件并实现下载的功能,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

C#将Sql数据保存到Excel文件中的方法

主要介绍了C#将Sql数据保存到Excel文件中的方法,文中的ExportExcel可起到将sql数据导出为Excel的作用,需要的朋友可以参考下
recommend-type

Silverlight4中上传EXCEL并将EXCEL文件数据插入到SQL数据库中

Silverlight4中上传EXCEL并将EXCEL文件数据插入到SQL数据库中
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

【实战演练】增量式PID的simulink仿真实现

# 2.1 Simulink仿真环境简介 Simulink是MATLAB中用于建模、仿真和分析动态系统的图形化环境。它提供了一个直观的用户界面,允许用户使用块和连接线来创建系统模型。Simulink模型由以下元素组成: - **子系统:**将复杂系统分解成更小的、可管理的模块。 - **块:**代表系统中的组件,如传感器、执行器和控制器。 - **连接线:**表示信号在块之间的流动。 Simulink仿真环境提供了广泛的块库,涵盖了各种工程学科,包括控制系统、电子和机械工程。它还支持用户自定义块的创建,以满足特定仿真需求。 # 2. Simulink仿真环境的搭建和建模 ### 2.
recommend-type

训练集和测试集的准确率都99%,但是预测效果不好

即使训练集和测试集的准确率都很高,但是在实际的预测中表现不佳,可能会有以下几个原因: 1. 数据质量问题:模型训练和测试的数据可能存在问题,比如数据标签错误、数据集采样不均衡、数据集中存在异常值等问题,这些问题可能会导致模型在实际预测中表现不佳。 2. 特征工程问题:模型的特征工程可能存在问题,导致模型无法很好地捕捉数据的特征,从而影响预测效果。 3. 模型选择问题:模型的选择可能不合适,比如选择的模型太简单,无法很好地拟合数据,或者选择的模型太复杂,导致过拟合等问题。 4. 超参数调整问题:模型的超参数可能没有调整到最佳状态,需要进行调整。 针对以上可能的原因,可以采取相应的措施进
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。