【发布时间】:2017-01-03 09:57:44
【问题描述】:
我有一个数据库,它结合了我部门中的所有项目,并且一直在更新。
数据库由 4 列组成:
- 更新日期
- 项目名称
- 参考
- 状态
假设我们有 4 个项目。
我想要一个 VBA,它将每个项目的所有更新都保存在一个表中。
所以最终它会创建 4 个表,每个项目都有自己的表。它还将项目标题作为表格的标题。
新的 4 个表将包含 3 列
- 日期
- 参考
- 状态
(项目标题很常见,因此在新表格中将其删除,并将作为每个表格的标题)
所以项目编号将是 VBA 的主要搜索条件。
数据库信息由用户表单填充,用户表单插入该数据库中的所有更新。这就是我想根据项目 ID 将数据库拆分为表的原因。由于数据是使用用户表单输入的,用户将通过用户表单中嵌入的下拉列表选择他想要更新的项目,然后提交后,用户表单会将输入的数据插入数据库中。
这个请求的主要目的是得到一个包含所有项目的可打印报告,但每个项目将在单独的表格中以便于分析。Sub report()
Sheet4.Activate
Dim project1 As String
Dim project2 As String
Dim project3 As String
Dim project4 As String
Dim project5 As String
Dim project6 As String
Dim project7 As String
Dim project8 As String
Dim project9 As String
Dim project10 As String
Dim project11 As String
Dim project12 As String
Dim project13 As String
Dim project14 As String
Dim project15 As String
Dim finalrow As Integer
Dim i As Integer
project1 = Sheet4.Range("U1").Value
project2 = Sheet4.Range("U2").Value
project3 = Sheet4.Range("U3").Value
project4 = Sheet4.Range("U4").Value
project5 = Sheet4.Range("U5").Value
project6 = Sheet4.Range("U6").Value
project7 = Sheet4.Range("U7").Value
project8 = Sheet4.Range("U8").Value
project9 = Sheet4.Range("U9").Value
project10 = Sheet4.Range("U10").Value
project11 = Sheet4.Range("U11").Value
project12 = Sheet4.Range("U12").Value
project13 = Sheet4.Range("U13").Value
project14 = Sheet4.Range("U14").Value
project15 = Sheet4.Range("U15").Value
finalrow = Sheet4.Range("A2000").End(xlUp).Row
i = 0
For i = 1 To finalrow
If Cells(i, 1) = project1 Then
Sheet7.Range("A100").End(xlUp).Offset(1, 0) = project1
If Cells(i, 1) = project1 Then
Sheet4.Range(Sheet4.Cells(i, 2), Sheet4.Cells(i, 8)).Copy
Sheet7.Range("A100").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValuesAndNumberFormats
End If
End If
Next i
Sheet7.Activate
End Sub
【问题讨论】:
-
以最礼貌的方式;这个网站是用来提问的……你的问题是什么?
标签: vba excel excel-formula report