乐于分享
好东西不私藏

超好用Excel+AI应用!一键跨文件自动同步数据,A文件输入,B文件当数据库用!

超好用Excel+AI应用!一键跨文件自动同步数据,A文件输入,B文件当数据库用!
大家好,这一章回复一个粉丝学员的提问.
这个问题也是大家一定会用到的,一个数据输入的方式.
如何在一个文件模板中输入数据,数据输入到另外一个excel文件.
意思就是,一个是输入模板,一个数作为数据源的储存文件.
最下方有视频解析,用AI也可以做,很简单
如下图所示:
左右两侧是2个不同的文件,当我在文件1中输入固定内容,把这些内容输入到文件2中.
并且可以实现连续输入,文件1中输入的内容,一定输出在文件2的最后一行.
当然,上面是为了展示,输入数据之后左右两侧的文件内容变化,正常使用情境中,我们只需要打开文件1,输入内容.
文件2中会自动被打开,记录完数据之后,文件2被自动保存之后关闭.
这种类型的文件数据输入,一定会要用到VBA,并且这种VBA就是一个相对固定的模式,你只需要根据自己的实际情况去进行修改就可以了.
首先就是准备前的必备要素
1.文件内容如下一定要找一个单元格写上你需要把数据输出到的excel文件路径,这样的做法是为了方便,如果你以后文件路径例如从C盘放到了D盘,方便自己直接在表格中进行修改,不需要在VBA代码中去编辑位置,方便其他的同事进行使用.
2.输入的数据模型自己编辑好.
3.被灌入数据的存档excel文件,自己写好表头,不写表头也没关系,只是作为一个被输入的数据源,尽可能做规范.
准备好这些之后,记录下这个VBA代码,
代码非常固定,你只需要修改需要修改的部分就可以了.
这段代码分成4个部分的逻辑.
1.定义变量,设置目标变量.(固定)
2.检查被灌入数据的文件是否为打开状态,或者是关闭状态.(固定),只是你存储的表格路径C1单元格看看是否需要修改成其他的单元格.
3.通过回圈把数据汇入进入数据源文件.(根据实际情况修改).
4.保存关闭数据源储存文件(固定)
5.清空输入文件模板的内容(C4:C8)可以自行修改.
Sub CopyDataToAnotherExcel()    Dim currentSheet As Worksheet    Dim targetWorkbook As Workbook    Dim targetSheet As Worksheet    Dim filePath As String    Dim lastRow As Long    Dim i As Integer    ' 设置当前工作表    Set CRSheet = ThisWorkbook.ActiveSheet    ' 获取目标文件路径    filePath = CRSheet.Range("C1").Value    ' 检查文件路径是否为空    If filePath = "" Then        MsgBox "请在C1单元格输入目标Excel文件的路径", vbExclamation        Exit Sub    End If    ' 检查文件是否存在    If Dir(filePath) = "" Then        MsgBox "指定的文件不存在: " & filePath, vbCritical        Exit Sub    End If    ' 打开目标工作簿    On Error Resume Next    Set targetWorkbook = Workbooks.Open(filePath)    On Error GoTo 0    ' 检查是否成功打开目标工作簿    If targetWorkbook Is Nothing Then        MsgBox "无法打开目标文件: " & filePath, vbCritical        Exit Sub    End If    ' 设置目标工作表(这里使用第一个工作表)    Set targetSheet = targetWorkbook.Worksheets(1)    ' 找到目标工作表中A列的最后一行    lastRow = targetSheet.Cells(targetSheet.Rows.Count, "A").End(xlUp).Row    ' 如果工作表为空,则从第一行开始    If lastRow = 1 And targetSheet.Cells(1, "A").Value = "" Then        lastRow = 0    End If    ' 复制数据到目标工作表    For i = 0 To 4        targetSheet.Cells(lastRow + 1, i + 1).Value = CRSheet.Range("C4").Offset(i, 0).Value    Next i    ' 在F列计算平均值    targetSheet.Cells(lastRow + 1, 6).Formula = "=AVERAGE(A" & lastRow + 1 & ":E" & lastRow + 1 & ")"    ' 保存并关闭目标工作簿    targetWorkbook.Save    targetWorkbook.Close    ' 释放对象    Set targetSheet = Nothing    Set targetWorkbook = Nothing    Set currentSheet = Nothing    CRSheet.Range("C4:C8").ClearContents    MsgBox "数据已成功复制到目标文件!", vbInformationEnd Sub
大家最好是,下载我的这两个文件,根据你们自己的实际情况之后自行修改一下C1单元格的文件路径之后尝试一下就明白了.

本章素材下载:

链接: 

https://pan.baidu.com/s/1bDU6btRpnp--cPhDZBsQYA 

提取码: 

1235

小贴士:

之前一些课件由于时间太久失效,所以现在的下载素材方式,回复公众号信息获得,如果有一天素材失效,记得给老徐留言,我再补上.

如果想要系统学习Excel,可以看看这个链接:

限时价格,一大堆数据可视化向你招手!

更新不易!

如果喜欢老徐的内容,记得给老徐点赞关注哦!!

已关注
关注
重播 分享