【021】整理力学拉伸实验数据(复制、黏贴、计算)_#VBA

news2024/9/23 3:20:45

整理力学拉伸实验数据

  • 1. 需求
  • 2. 实现流程
    • 2.1 流程图
    • 2.2 运行方法
    • 2.3 完整代码

1. 需求

2. 实现流程

2.1 流程图

在这里插入图片描述
流程如上,因测试得到多个数据表格,先将表格数据合并,并以文件名作为每个数据的代号。然后更换坐标轴,通过对文件名数据的处理,得到最终曲线的数据。

2.2 运行方法

First: 打开下载的Excel文件,点击 视图—>宏—>查看宏

在这里插入图片描述
Second: 弹出如下界面后,点击 编辑,弹出代码对话框,在红色框内输入对应的数据文件夹
在这里插入图片描述
在这里插入图片描述
**Third:**在宏的界面,依次点击 “整理所有数据放在总表内” / “切换坐标轴” / “对数据进行计算”,然后点击执行即可
在这里插入图片描述

2.3 完整代码

Sub 整理所有数据放在总表内()

    Application.DisplayAlerts = False
    ' 关闭信息提示弹窗
    
    Dim MyFile As String
    Dim erow As Long
    Dim Filepath As String
    erow = 1
    Filepath = "E:\课题进度\待完成工作\现阶段工作\隔膜分析\2. 测试数据\2022-10-12-圆柱型电池测试\2. 物理性能\拉伸\2023-10-13-MD-TD对比\" '设置需要遍历的文件夹路径
    MyFile = Dir(Filepath)
    
    Do While Len(MyFile) > 0
        If MyFile = "Master.xlsm" Then GoTo NextFile '跳过当前工作表
        Workbooks.Open (Filepath & MyFile)
        
        '提取数据
        LastRow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row
        Range("B2:C" & LastRow).Copy
        
        '粘贴到总表
        
        Sheet1.Cells(1, 2 * erow - 1) = MyFile '在第一列写入文件名
        Sheet1.Cells(2, 2 * erow - 1).PasteSpecial
        
        Workbooks(MyFile).Close
        SaveChanges = False
        erow = erow + 1
NextFile:
        MyFile = Dir()
    Loop

End Sub

Sub 切换坐标轴()

    For i = 1 To 30
        Sheets("Sheet1").Select
        Range(Columns(2 * i - 1), Columns(2 * i - 1)).Select
        Selection.Copy
        Sheets("Sheet2").Select
        Cells(1, 2 * i).Select
        ActiveSheet.Paste
        Sheets("Sheet1").Select
        Range(Columns(2 * i), Columns(2 * i)).Select
        Selection.Copy
        Sheets("Sheet2").Select
        Cells(1, 2 * i - 1).Select
        ActiveSheet.Paste
    Next
    
End Sub

Sub 对数据进行计算()

    Dim sh2Data As Variant, sh3Data As Variant
    Dim result(100000, 60) As Double
    Dim i As Long, j As Long, k As Long
    
    '读取Sheet2数据到数组
    sh2Data = Sheets("Sheet2").UsedRange
    
    '读取Sheet3数据到数组
    sh3Data = Sheets("Sheet3").UsedRange
    
    '根据Sheet3矩阵进行运算
    For i = 1 To 25
      For j = 4 To Sheets("Sheet2").Cells(Rows.Count, i * 2).End(xlUp).Row
        result(j, 2 * i - 1) = sh2Data(j, 2 * i - 1) / sh3Data(i, 2)
        result(j, 2 * i) = sh2Data(j, 2 * i - 1) / sh3Data(i, 3)
      Next j
    Next i
    
    '将结果写入Sheet4
    Sheets("Sheet4").Range("A1").Resize(UBound(result, 1), UBound(result, 2)).Value = result
    For i = 1 To 25
      Sheets("Sheet4").Cells(1, 2 * i) = sh2Data(1, 2 * i)
      Sheets("Sheet4").Cells(2, 2 * i) = "strain"
      Sheets("Sheet4").Cells(2, 2 * i + 1) = "stress"
      Sheets("Sheet4").Cells(3, 2 * i + 1) = "MPa"
    Next
    
End Sub



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1131926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单片机设计_RTC时钟(ACM32F403)

一、电路设计 ACM32F403开发板 实现结果:通过串口发送每秒的时间 二、运行结果 三、部分代码 #include "APP.h"UART_HandleTypeDef Uart_Handle;/********************************************************************************* * Function …

【Django 05】Django-DRF(ModelViewSet)、路由组件、自定义函数

1. Django-DRF(ModelViewSet) 1.1 DRF是什么? ModelViewSet 是 Django REST framework 提供的一个视图集类,它封装了常见的模型操作方法。 模型类提供了默认的增删改查功能。 它继承自 GenericViewSet、ListModelMixin、Retri…

(四)Apache log4net™ 手册 - AOP

0、引言 如果你已经开发了一个中型或者大型的 .NET / .NET Framework 项目但还没有为其添加日志系统。那么,你可能需要重新回顾大量的业务逻辑代码,并在其中找到合适的位置,编写合适的日志输出语句进行插入🙁。 显然&#xff0c…

mybatisPlus逻辑删除注解@TableLogic

当我做了一个实体类,字段为del_flag的逻辑删除字段,要通过这个字段控制数据库中的数据逻辑删除。 重写mapper中的deleteById, 先按id查出数据,在更新此数据中的del_flag字段为1,调用update方法更新数据。 这种方式我…

adb: error: 46-byte write failed: Invalid argument

使用adb pull可以,但是adb push fail。 貌似是adb的问题,将adb.exe 重命名为pdb,使用pdb push就行了。

三季报开启消费电子增长新纪元?看蓝思科技如何落子

10月18日晚间,蓝思科技公布了2023年第三季度报告。根据报告,蓝思科技第三季度营业收入136.31亿元,同比增长9.98%,环比增长31.85%;归母净利润10.95亿元,同比增长2.93%,环比119.88%。 作为消费电…

OceanBase 全局索引与局部索引探索

OceanBase 全局索引与局部索引探索导致的本区域查找和跨区域查找。 作者:网名大数据模型,对制造业、银行业、通讯业了解多一点,关心专注国产数据库技术布道以及数据资产建设的应用实践。 爱可生开源社区出品,原创内容未经授权不得…

day02:DML DQL DCL

目录 一:DML 二:DCL 三:DCL 一:DML 1:概念:数据操作原因,对数据进行增删改。 2:三个操作 (1):增加:insert id name age gender 1 令狐冲 23 男 2(添加的数据)风清扬25男 1--->给指定字段添加数据:insert into 表名(字段1,字段2--)values…

基础课9——机器学习

1.概念 机器学习是一种数据分析技术,它使计算机能够像人类一样从经验中学习。机器学习算法使用计算方法直接从数据中获取信息,而不依赖于预定方程模型。当可用于学习的样本数量增加时,这些算法可以自适应提高性能。 机器学习是人工智能的一…

方法递归详解

什么是方法递归 方法直接调用自己或者间接调用自己的形式称为方法递归( recursion)。 递归做为一种算法在程序设计语言中广泛应用。 递归的形式 直接递归:方法自己调用自己。 间接递归:方法调用其他方法,其他方法又…

Postman中几个body请求格式区别及使用说明

参阅:https://blog.csdn.net/qq_41063141/article/details/101505956,在此基础上添加代码使用说明 一、Params与Body 二者区别在于请求参数在http协议中位置不一样。 Params 它会将参数放入url中以?区分以&拼接 Body则是将请求参数放在请…

39.B树,B+树(王道第7章查找补充知识)

目录 一. B树 (1)B树的定义 (2)B树的高度 (3)B树的插入 (4)B树的删除 二. B树 (1)B树的定义 (2)B树与B树的区别 一. B树 &am…

什么是自动证书管理环境(ACME)

组织的网站需要 24x7 全天候可用,以建立信任并提供信息,如果网站因证书过期而停机,那么很难恢复失去的客户信任、收入和品牌声誉,手动管理证书基础结构会使组织面临中断、中间人 (MITM) 攻击等的严重风险。…

新上线游戏产品需不需要防御?

游戏运营免不了遭受恶意DDoS和CC攻击,且攻击常达百G以上,攻击流量过大,超过一般服务器的基础防护能力,不少企业面对大流量攻击显得束手无策,只能选择被迫停机,其次游戏行业利润高,很容易被黑客盯…

智慧矿山:如何快速识别带式运输机空载状态!

带式运输机作为一种常见的物料输送设备,广泛应用于矿山、建筑、化工等行业。但在使用过程中,经常会出现空载运行的情况,即带式运输机无物料传送时仍不停工作,导致能源和设备的浪费。因此,对带式运输机进行空载识别并采…

【期刊】IEEE系列指定期刊模版下载(LaTeX或者Word)全网最细教程

IEEE旗下有很多期刊,例如: IEEE Transactions on Pattern Analysis and Machine Intelligence IEEE Transactions on Cybernetics IEEE Transactions on Neural Networks and Learning Systems IEEE Transactions on Industrial Informatics IEEE Tra…

代理服务器可能有问题,或地址不正确的解决办法

问题: 解决办法: 1.找到代理服务器设置 2.代理服务器,设置关闭

基于springboot实现在线考试平台管理系统【项目源码+论文说明】计算机毕业设计

基于Springboot实现在线考试平台管理系统演示 摘要 网络的广泛应用给生活带来了十分的便利。所以把在线考试管理与现在网络相结合,利用java技术建设在线考试系统,实现在线考试的信息化管理。则对于进一步提高在线考试管理发展,丰富在线考试管…

[笔记] Windows 审计《一》判断是否SACL系统记录权限、DACL管理权限是否继承

文章目录 前言代码总结 前言 安全对象:由微软定义为可以具有安全描述符的对象,包括诸如文件,线程,远程注册表,Active Directory对象等许多东西。 安全描述符:包含许多字段的二进制结构,包括对…

K-Means和KNN

主要区别 从无序 —> 有序 从K-Means —> KNN KNN:监督学习,类别是已知的,对已知分类的数据进行训练和学习,找到不同类的特征,再对未分类的数据进行分类。K-Means:无监督学习,事先不知道…