关键是要使用统计某表当前有几行数据的函数。正常的更新方式是,打开总表时一次更新所有数据,关闭总表时保存总表数据。
另一个方法,你可以将所有表以CSV格式另存,然后用任一语言或者手动删除TXT文件(CSV其实就是TXT)的首行(标题行)(比如CMD命令行的FOR命令),再COPY成一个文件,总表为直接打开此文件。
②需要使用VBA编程,关键是删除空白格。不考虑删除空白格,可以使用取行列坐标函数,配合VLOOKUP等查找函数实现。
③如果每个日期的行数不定,那么需要使用VBA编程。或者你可以试下用数据库函数生成某日期的表,再用此表生成统计图,单独使用时都是自动的,合用时不太清楚。
④问题描述不清。只要保存时正常,打开时应该也是正常的。请参考:自动更改格式一般发生在单元格数值改变时自动依照相邻格。
⑤可以。请参考:数据>导入外部数据。需要操作系统安装有对应的驱动接口。(可能只能下载,不能上传更改库数据。。。。。对这个用的不多)
Sub excelOC() 'excel打开更新关闭
Dim wk As Workbook
Set wk = Workbooks.Open(ThisWorkbook.Path & "\" & "新建 Microsoft Excel 工作表.xls")
'更新内容
wk.Close
Set wk = Nothing
End Sub
Function ExcleFile()
Set xl = CreateObject("Excel.Application")
xl.WorkBooks.Open excel的路径 '根据excel所在的路径打开excel,如"D:\testExcel.xls"
xl.WorkSheets(sheet名).Cells(行号,列号)=更新的内容 '将获取到的值添加到excel所对应的格子里如Cells(2,3)保存到第2行第3列的单元格中
xl.ActiveWorkBook.Save '保存excel
xl.Quit '退出excel
Set xl = Nothing '将创建的对象制空
End Function
ActiveWorkbook.ActiveSheet.Calculate
ActiveWorkbook.Save
若要更新所有的sheet,更改第一句
For i = 1 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(i).Calculate
Next i