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 ...
随机推荐
- 常用machine learning数据集
ImageNet:非商业化的可视化大数据 截止到2015年5月1日,ImageNet数据库拥有超过1500万的图像. cifar10:10类物体识别数据集 数据集中包含60,000幅32*32图像,共 ...
- dispatch队列
GCD编程的核心就是dispatch队列,dispatch block的执行最终都会放进某个队列中去进行,它类似NSOperationQueue但更复杂也更强大,并且可以嵌套使用.所以说,结合bloc ...
- Dictionary Size
uvaLive5913:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&pag ...
- 使用expect实现批量操作的自动化
http://blog.csdn.net/hijk139/article/details/9121345
- FILTER优化
explain plan for select a.* from fxqd_list_20131115_new_100 a where (acct_no, oper_no, seqno, trans_ ...
- poj2151
求每只队伍都回答出题目,且至少有一只队伍回答出n道题的概率存在性问题我们可以转化为任意性问题用P(每支队伍都回答出题目)-P(每只队伍回答的题目数小于n)然后我们可以递推求解 ..,..,..] of ...
- cheerio返回数据格式
通读cheerio API { options: { decodeEntities: false, withDomLvl1: true, normalizeWhitespace: false, xml ...
- php-Mysql示例1
- 有关DOM的小总结
一直以为DOM(文档对象模型)是JS中最简单的一部分.不可否认,它确实很简单,因为DOM的思维模式有点固定,只需要简单地记住一些固定的方法,所以DOM可以说是所有js(这里指的是客户端的js)入门的起 ...
- 用指针将字符串a的内容复制到字符串b
#include <stdio.h> #include <stdlib.h> /**int main() { char a[]="i love you very ma ...