首 页 行业热点 新车 试驾评测 养车用车 车型库

如何建立excel数据库?

发布网友

我来回答

2个回答

热心网友

网络上找的,共2个过程,1、合并指定目录中所有文件中相同格式工作表的数据,2、合并各工作表内容,注意合并后的行数可能会超65000条的*。没有考虑更新的问题。
Sub 合并数据()
Dim myPath$, myFile$, AK As Workbook, aRow%, tRow%, i As Integer
Application.ScreenUpdating = False '冻结屏幕,以防屏幕抖动
myPath = ThisWorkbook.Path & "\分表\" '把文件路径定义给变量
myFile = Dir(myPath & "*.xls") '依次找寻指定路径中的*.xls文件
Do While myFile <> "" '当指定路径中有文件时进行循环
If myFile <> ThisWorkbook.Name Then
Set AK = Workbooks.Open(myPath & myFile) '打开符合要求的文件
For i = 1 To AK.Sheets.Count
aRow = AK.Sheets(i).Range("a65536").End(xlUp).Row
tRow = ThisWorkbook.Sheets(1).Range("a65536").End(xlUp).Row + 1
'AK.Sheets(i).Select
AK.Sheets(i).Range("a3:k" & aRow).Copy ThisWorkbook.Sheets(1).Range("a" & tRow) '取得第3行以后的数据
Next
Workbooks(myFile).Close False '关闭源工作簿,并不作修改
End If
myFile = Dir '找寻下一个*.xls文件
Loop
Application.ScreenUpdating = True '冻结屏幕,此类语句一般成对使用
MsgBox "汇总完成,请查看!", , "提示"
End Sub

Sub 合并各工作表内容()
sp = InputBox("各表内容之间,间隔几行?不输则默认为0")
If sp = "" Then
sp = 0
End If

st = InputBox("各表从第几行开始合并?不输则默认为2")
If st = "" Then
st = 2
End If

Sheets(1).Select
Sheets.Add

If st > 1 Then
Sheets(2).Select
Rows("1:" & CStr(st - 1)).Select
Selection.Copy
Sheets(1).Select
Range("A1").Select
ActiveSheet.Paste
y = st - 1
End If

For i = 2 To Sheets.Count

Sheets(i).Select
For v = 1 To 256
zd = Cells(65535, v).End(xlUp).Row
If zd > x Then
x = zd
End If
Next v

If y + x - st + 1 + sp > 65536 Then
MsgBox "内容太多,仅合并前" & i - 2 & "个表的内容,请把其它表复制到新工作薄里再用此程序合并!"
Else:

Rows(st & ":" & x).Select
Selection.Copy
Sheets(1).Select
Range("A" & CStr(y + 1)).Select
ActiveSheet.Paste

Sheets(i).Select
Range("A1").Select '取消单元格被全选状态。
Application.CutCopyMode = False '忘掉复制的内容。
End If

y = y + x - st + 1 + sp
x = 0
Next i

Sheets(1).Select
Range("A1").Select '光标移至A1。
MsgBox "这就是合并后的表,请命名!"

End Sub追问我看不明白~~~~~

热心网友

如果实现的功能简单,可以用excel函数做一个简单的系统
因为数据量比较大,太复杂的话,excel运算会占用很多CPU资源。
造成假死机。
excel函数可以实现很多功能,查询,统计,图表等追问有没有什么推荐的容易理解的函数可以帮助我建立一个系统呢?

追答常用函数:if countif sumif vlookup subtotal 等等。
可以自己慢慢研究。
遇到具体问题,再搜一些详细函数使用,
或者你想实现某个功能,可以搜一下用哪个函数

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com