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 ...
随机推荐
- 最完整的合并相交集合的Java代码(查并集)
这个是自己写的算法,如果有大牛,麻烦帮我并行化.初学者则可以学到不少东西. 产生测试用例 import java.io.*; import java.util.Random; public class ...
- 如何启用Service,如何停用Service
一.步骤 第一步:继承Service类 public class SMSService extends Service { } 第二步:在AndroidManifest.xml文件中的<appl ...
- [LeetCode#260]Single Number III
Problem: Given an array of numbers nums, in which exactly two elements appear only once and all the ...
- PuTTY 'modmul()' 函数缓冲区下溢漏洞(CVE-2013-4206)
漏洞版本: PuTTY 0.52 - 0.63 漏洞描述: BUGTRAQ ID: 61645 CVE(CAN) ID: CVE-2013-4206 PuTTY是Windows和Unix平台上的PuT ...
- HDU-2149 Public Sale
http://acm.hdu.edu.cn/showproblem.php?pid=2149 巴什博奕(Bash Game): Public Sale Time Limit: 1000/1000 MS ...
- php环境下ckeditor和ckfinder的配置详解
摘要:老牌编辑器FCK的升级版CKEditor(http://ckeditor.com/) 经过重写,提供了丰富而强大的集成和互动的API.新版编辑器是完全基于插件,它可以扩展所有部件以符合需求.FC ...
- IOS性能调优系列:Analyze静态分析
目前关于IOS性能优化的教程较少,决定写一个<IOS性能调优系列>,主要关注与内存泄漏.性能优化.流量和电量分析几个方面. XCode已经提供了非常强大的性能调优工具,结合几个第三方工具和 ...
- PPT扁平化手册 2
- 数据库中存储日期的字段类型究竟应该用varchar还是datetime ?
背景: 前段时间在百度经验看到一篇文章<如何在电脑右下角显示你(爱人)的名字>,之前也听过这个小技巧,但没真正动手设置过.所以出于好奇就实践了一下. 设置完成后的效果例如以下.右下角的时间 ...
- 颜色渐变的RGB计算
均匀渐变 渐变(Gradient)是美学中一条重要的形式美法则,与其相对应的是突变.形状.大小.位置.方向.色彩等视觉因素都可以进行渐变.在色彩中,色相.明度.纯度也都可以产生渐变效果,并会表现出具有 ...