宏可从数据库重建收据

时间:2018-07-18 08:03:14

标签: excel database vba excel-vba

我需要一些有关在Excel上尝试创建的数据库的帮助。目前,我设法建立了一个系统,将收据粘贴到excel工作表上,然后宏提取某些信息并将其存储在另一工作表中,就像这样;

BUYER  SELLER  DATE  PRODUCTS  CURRENCY
A      B       123   abc        USD
D      E       456   def        GBP

现在,我可以使用简单的过滤搜索该数据库。我现在要做的是,一旦我过滤并剩下5个条目,我希望将这些条目重新构造到另一张纸上,就像收据原来一样,例如

123           456
A             D
B             E
USD           GBP
a             d
b             e
c             f

我知道我需要遍历每一行,并且必须连续遍历每一列,以提取所需的信息(例如日期,产品等)。 我环顾四周,找不到任何东西。 任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:2)

我认为这可以帮助您开始:

Sub From_DB()
Dim i As Long
Dim col As Integer
Dim DB_Sheet, Rec_Sheet As Object

Set DB_Sheet = ThisWorkbook.Worksheets("Database")
Set Rec_Sheet = ThisWorkbook.Worksheets("Receipts")
col = 1
For i = 2 To DB_Sheet.Range("A" & Rows.Count).End(xlUp).Row
    If DB_Sheet.Rows(i).Hidden = False Then
        Rec_Sheet.Cells(1, col) = DB_Sheet.Cells(i, 3)
        Rec_Sheet.Cells(2, col) = DB_Sheet.Cells(i, 1)
        Rec_Sheet.Cells(3, col) = DB_Sheet.Cells(i, 2)
        Rec_Sheet.Cells(4, col) = DB_Sheet.Cells(i, 5)
        Rec_Sheet.Cells(5, col) = DB_Sheet.Cells(i, 4)
    col = col + 1
    End If
Next i
End Sub