学以致用 您所在的位置:网站首页 vba新建一个sheet表 学以致用

学以致用

2024-07-10 20:58| 来源: 网络整理| 查看: 265

需求:某个字段需要基于当前数据和十几个独立的源文件定期整理,整理后的文件会多出0到n条新数据。目前采用全量更新的方式导入这些新数据。即,需要提供包括这几条新数据在内的所有数据的完整文件。而这个完整文件,可通过以下代码自动生成。(很简单的一个VBA小段程序)

Sub createNewDataFile() Dim sourceRows As Integer '整理后的数据行数(用于复制、另存为新的Data File数据) Dim targetRows As Integer '现有Data File的数据行数(即,上一期整理后的数据行数,用于清空现有数据) Dim sourceSht As Worksheet '整理后的工作表,即“ManuallyCollated_work” Dim targetSht As Worksheet '整理后的工作表的数据要复制到此工作表,进而另存为新的的Data File Dim filePath As String 'Data File的保存路径 Dim timeStamp As String '保存Data File时的时间戳 filePath = "C:\Data_File\AutoCreated\" Set sourceSht = ThisWorkbook.Worksheets("ManuallyCollated_work") Set targetSht = ThisWorkbook.Worksheets("ManuallyCollated_new") sourceRows = sourceSht.UsedRange.rows.Count targetRows = targetSht.UsedRange.rows.Count targetSht.Range("A2:G" & targetRows).ClearContents '复制新内容前先清空现有内容 sourceSht.Range("A2:D" & sourceRows).Copy targetSht.Range("A2") '复制PID, CTY, SID和RD sourceSht.Range("K2:L" & sourceRows).Copy targetSht.Range("E2") '复制SRC和UK sourceSht.Range("P2:P" & sourceRows).Copy targetSht.Range("G2") '复制LUD '将整理后的数据另存为单独的Data File targetSht.Select targetSht.Copy timeStamp = Format(Now, "yyyy-mm-dd hh_mm_ss") ChDir filePath ActiveWorkbook.SaveAs filename:= _ filePath & "ManuallyCollatedData_" & timeStamp & ".xlsx", _ FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False End Sub


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有