excel中VBA对多个文件的操作
添加引用 "Scripting.FileSystemObject" (Microsoft Scripting Runtime) '用于操作文件、目录
Sub 数据整理部分()
'
' 数据整理到新的Sheet
''
Dim fso As New FileSystemObject
Dim folder As folder
Dim file As file
Dim strExt As String
Dim wkb As Workbook strExt = "xlsx" '查找特定后缀名文件
Set folder = fso.GetFolder(ThisWorkbook.Path)
For Each file In folder.Files
fileExt = fso.GetExtensionName(file) If fileExt = strExt Then
Set wkb = Workbooks.Open(file)
'原始数据表单移到第一
Sheets("Sheet1").Move before:=Sheets()
If wkb.Sheets.Count < Then
wkb.Sheets.Add after:=wkb.Sheets("Sheet1")
End If Dim sheet1 As Worksheet
Dim sheet2 As Worksheet
Set sheet1 = wkb.Sheets()
Set sheet2 = wkb.Sheets() Dim dataCount As Long
dataCount = sheet1.UsedRange.Rows.Count
'获取数据行数,添加dt
sheet2.Range("A1").Value = "dt(s)"
sheet2.Range("A2:A" & dataCount).Value = 0.0175 subName = "_euler" If (InStr(file.Name, subName) > ) Then
'符合条件的文件
wkb.Sheets().Name = "euler"
sheet1.Columns("Q:S").Copy
sheet2.Range("B1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Else
wkb.Sheets().Name = "Sensor"
'陀螺仪数据
sheet1.Columns("AC:AE").Copy
sheet2.Range("B1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'磁力计数据
sheet1.Columns("AI:AK").Copy
sheet2.Range("E1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'加速度计数据
sheet1.Columns("AF:AH").Copy
sheet2.Range("H1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False '这里函数加括号会报错!!!
计算位移部分 sheet2
End If
'关闭excel
wkb.Save
wkb.Close
End If
Next End Sub Sub 计算位移部分(sheet As Worksheet)
Dim dataCount As Long
dataCount = sheet.UsedRange.Rows.Count '原始数据积分
sheet.Range("K1").Value = "Ax(m/s/s)"
sheet.Range("K2:K" & dataCount).FormulaR1C1 = "=RC8*9.81"
sheet.Range("L1").Value = "Vx(m/s)"
sheet.Range("L2").Value =
sheet.Range("L3:L" & dataCount).FormulaR1C1 = "=R[-1]C+RC[-1]*RC1"
sheet.Range("M1").Value = "Sx(m)"
sheet.Range("M2").Value =
sheet.Range("M3:M" & dataCount).FormulaR1C1 = "=R[-1]C+RC[-1]*RC1" '减去噪声积分
sheet.Range("K1").Value = "Ax-ave100(m/s/s)"
sheet.Range("K2:K" & dataCount).FormulaR1C1 = "=(RC8-AVERAGE(R2C8:R101C8))*9.81"
sheet.Range("L1").Value = "Vx-ave100(m/s)"
sheet.Range("L2").Value =
sheet.Range("L3:L" & dataCount).FormulaR1C1 = "=R[-1]C+RC[-1]*RC1"
sheet.Range("M1").Value = "Sx-ave100(m)"
sheet.Range("M2").Value =
sheet.Range("M3:M" & dataCount).FormulaR1C1 = "=R[-1]C+RC[-1]*RC1" End Sub
excel中VBA对多个文件的操作的更多相关文章
- Python 中当前位置以及目录文件遍历操作
Python 中当前位置以及目录文件遍历操作 当前位置 print(os.path.dirname(__file__)) 其中 dirname 会选择目录(文件夹),"__file__&qu ...
- excel中VBA的使用
遇到的问题 在工作中遇到了一点小小的问题,需要给我负责带的班级的同学们测试男生1000米,女生800米的成绩.表格是这样的: 体育成绩表 序号 班级 姓名 性别 男1000.女800 成绩 1 1 张 ...
- Java 7 中 NIO.2 的使用——文件递归操作
众所周知,递归编程是一项有争议的技术,因为它需要大量的内存,但是它能简化一些编程任务.基本上,一个递归操作都是程序调用自己传递参数修改的值或者参数传递到当前的程序循环中.递归编程通常用来计算阶乘斐波那 ...
- excel中vba将excel中数字和图表输出到word中
参考:https://wenku.baidu.com/view/6c60420ecc175527072208af.html 比如将选区变为图片保存到桌面: Sub 将选区转为图片存到桌面() Dim ...
- Excel中VBA 连接 数据库 方法- 摘自网络
Sub GetData() Dim strConn As String, strSQL As String Dim conn As ADODB.Connection Dim ds As ADODB.R ...
- html table导出到Excel中,走后台保存文件,js并调用另保存
tableToExcel工具类,此工具类指定格式的表格进行转Excel 格式:其中不能带有thead,tbody和th标签 <table> <tr> <td>表头1 ...
- Excel中VBA进行插入列、格式化、排序
在数据分析中经常需要对数据进行排序.排名,观察指标排名变化情况,手工处理的话不是太困难,但经常使用,还是编写宏比较方便. 宏命令比较简单,不多解释,只说一下注意事项: 1.有合并单元格,比如列.行合并 ...
- excel中vba求摩尔圆包线
Dim f As Double, f1 As Double, f2 As Double, df As Double, oxy() As Double, R() As Double, k As Doub ...
- java 中的try catch在文件相关操作的使用
import java.io.CharConversionException; import java.io.FileNotFoundException; import java.io.FileRea ...
随机推荐
- Coursera《machine learning》--(2)单变量线性回归(Linear Regression with One Variable)
本笔记为Coursera在线课程<Machine Learning>中的单变量线性回归章节的笔记. 2.1 模型表示 参考视频: 2 - 1 - Model Representation ...
- java高级:weakReference
Java WeakReference的理解与使用 http://www.tuicool.com/articles/imyueq
- android ADT Bundle for Mac下载地址
直接下载解压就能用 http://developer.android.com/sdk/index.html
- ViewController 的loadView、viewDidLoad、viewDidUnload分别是什么时候调用的,在自定义ViewCointroller时在这几个函数中应该做什么工作?
由init.loadView.viewDidLoad.viewDidUnload.dealloc的关系说起 init方法 在init方法中实例化必要的对象(遵从LazyLoad思想) init方法中初 ...
- 【UVA11019】Matrix Matcher
Description Given an N × M matrix, your task is to find the number of occurences of an X × Y pattern ...
- Javascript禁止网页复制粘贴效果,或者复制时自动添加来源信息
一.禁止复制 使用方法:在oncopy事件中return false oncopy="return false;" 1.禁止复制网页内容 <body oncopy=" ...
- SQL Server 2008 数据库误删除数据的恢复
原文:SQL Server 2008 数据库误删除数据的恢复 原文:http://www.cnblogs.com/dudu/archive/2011/10/15/sql_server_recover_ ...
- Dynamics CRM 2011编程系列(60):JS编程之CRUD辅助类(JQuery版)
今天给大家分享一个JQuery版的REST辅助类,在一年前我分享过一个只能在IE环境下运行的REST辅助类:<JS编程之实体CRUD辅助类 >.为什么要推出JQuery版的CRUD辅助类呢 ...
- 【POJ】2503 Babelfish
字典树简单题. #include <cstdio> #include <cstring> #include <cstdlib> typedef struct Tri ...
- QQ游戏百万人同时在线服务器架构实现
转载自:http://morton5555.blog.163.com/blog/static/976407162012013112545710/# QQ游戏于前几日终于突破了百万人同时在线的关口,向着 ...