地铁沉降观测数据分析之巧用VBA编程处理

当你观测了一天累的要死了,回来看着成百上千的测量数据,还要做报表。如果是三五页报表还好说,如果是2000个点的报表 按照一页纸张报30个点就得大约70页的报表。作为苦逼的测量员,而且更苦逼的是没有沉降数据处理分析软件的测量员,而且更更苦逼的有沉降数据处理分析软件的但是不配套当地监理要求的报表格式的测量员,是否只能人工去做这么多的日报表呢?想想还有周报,和月报吧!!!多恐怖啊!作为一个过来人,谨将自己的体验和VBA提出来让大家探讨。时间紧凑,没有多审阅文章。有错误的话请提出来改正代码。附件请练习九天。代码如下

Sub 宏1()

‘ 宏1 宏

‘ 快捷键: Ctrl+u

Cells.Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = Year(Now()) & "-" & Month(Now()) & "-" & Day(Now())
Cells.Select
ActiveSheet.Paste
[d7:h7] = "=NOW()"
Range("D9:D36").Select
Selection.Copy
Range("C9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
‘还有计算间隔日期暂时没做哦!!!!
Range("D61").Select
Range("D61:D88").Select
Application.CutCopyMode = False
Selection.Copy
Range("C61").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D113").Select
Range("D113:D140").Select
Application.CutCopyMode = False
Selection.Copy
Range("C113").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D165").Select
Range("D165:D192").Select
Application.CutCopyMode = False
Selection.Copy

Range("C165").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D217").Select
Range("D217:D244").Select
Application.CutCopyMode = False
Selection.Copy
Range("C217").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D269").Select
Range("D269:D296").Select
Application.CutCopyMode = False
Selection.Copy
Range("C269").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D321").Select
Range("D321:D349").Select
Application.CutCopyMode = False
Selection.Copy
Range("C321").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D373").Select
Range("D373:D399").Select
Application.CutCopyMode = False
Selection.Copy
Range("C373").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D425").Select
Range("D425:D451").Select
Application.CutCopyMode = False
Selection.Copy
Range("C425").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D477").Select
Range("D477:D502").Select
Application.CutCopyMode = False
Selection.Copy
Range("C477").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D529:D556").Select
Application.CutCopyMode = False
Selection.Copy
Range("C529").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D581:D609").Select
Application.CutCopyMode = False
Selection.Copy
Range("C581").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D633").Select
Range("D633:D665").Select
Application.CutCopyMode = False
Selection.Copy
Range("C633").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D7:H7").Select
Application.CutCopyMode = False
Selection.Copy
Range("D7:H7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("P:Q").Select
Application.CutCopyMode = False
Selection.ClearContents

End Sub

练习附件及使用方法请联系九天

时间: 2024-11-02 02:51:09

地铁沉降观测数据分析之巧用VBA编程处理的相关文章

Excel中的VBA编程

目的:有时我们需要对Excel文件中大量的数据进行整理,此时如果使用手动整理会非常繁琐而且容易出错.而如果采用VBA语言,在Excel中根据需求编写一段简单的代码就能自动完成大量数据的整理工作. 1.以Excel 2007为例,如果要进行VBA编程,需要启用"开发工具" 选项.在Excel 选项对话框中勾选[在功能区显示"开发工具"选项卡]复选框. 在开发工具选项中点击"查看代码",打开Microsoft Visual Basic界面. 2.在M

VBA编程的工程性规划

看过很多人写的VBA代码,一团一团的,一点规划都没有,为了VBA编程更具工程性,这里讨论一下,并列出自己的一些建议:0.给VBA工程定义一个名字,而非直接使用默认的名称--"VBAProject",以方便以后可能要进行的跨VBA工程编码1.定义一个命名为"O"的标准模块[拼音中"O"字母的读音,意指"我"这个字],用于定义所有的全局对象,管理本工程的代码与数据,主要API:    [1]About(Optional ShowD

【转】VBA编程入门(二)

详解VBA编程是什么 由 vietdung90 创建,最后一次修改 2016-10-19 直到 90 年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为 VBA 是非常流行的应用程序开发语言V

VBA编程常用语句

1.Option Explicit '强制对模块内所有变量进行声明 Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text '字符串不区分大小写 Option Base 1 '指定数组的第一个下标为 1 2.On Error Resume Next '忽略错误继续执行 VBA代码,避免出现错误消息 3.On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置 4.On

【VBA编程】14.操作工作簿对象

[访问工作簿] 对已经打开的工作簿,可以通过使用索引号来访问工作簿,也可以通过名称来访问工作簿 [代码区域] Sub 访问工作簿() Dim counter As Integer counter = Workbooks.Count Debug.Print Debug.Print "当前打开工作簿的数目为:" & CStr(counter) Debug.Print "按索引号访问工作簿如下:" Debug.Print "第一个工作簿是:"

excel vba编程,是在一段表格中插入几行后,插入行后的行整体下移,不破坏原有数据内容,

Range(Rows(3), Rows(5)).Insert shift:=xlDown 1)在当前单元格处插入一行 : 可以增加循环语句来实现插入多行Range("A10").SelectSelection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove 2)在当前选择行处插入与选择行数相同的行数: 可更改行号来实现不同地方的插入. Rows("10:11").Select Selection.Inse

【VBA编程】11.Application对象

Application对象常用属性[ActiveCell属性]ActiveCell属性返回一个Range对象,表示当前窗口或指定窗口中的单元格.如果窗口没显示工作表,则此属性无效.[代码区域] Sub 激活单元格() Worksheets("sheet1").Activate '激活当前单元格 With ActiveCell .Value = "娑娜" With .Font .Bold = True '设置为粗体 .Italic = True '设置为斜体 .Siz

【VBA编程】08.数组

[数组简介]数组其实就是一组相同类型的数据的有序集合,其形象表示就像线性表.在存储数据的时候,首先在内存中分配一个连续的存储空间,将各个元素按顺序存放在连续的存储单元格中.[定义静态数组]Dim 数据组(数据元素的上下界,...) As 数据类型Dim a(10) As Integer '其数组名为a 其下标从0开始,下界为10 期中可访问的元素为a(0)到a(10)Dim b(1 To 10) As Double '可访问元素为a(1)到a(10)[Tips](1)多维数组的维数最高可达60维

【VBA编程】04.使用自定义数据类型

使用自定义数据类型存储输入数据,并通过弹出窗口展示 [代码区域] Type lianxiren ' name As String Sex As String End Type Sub aa() Dim record As lianxiren '声明一个lianxiren类型的变量 record.name = InputBox("请输入名称", "记录联系人信息") record.Sex = InputBox("请输入性别", "记录联系