0

请问我该怎么做!?我有一个 60 张的 excel 工作簿,所有 60 张都有相同的列标题和列数。

每张纸是一个国家的名称,行在 A 列中具有名称,在 B 中具有状态,在代码 D 中具有

我需要使用所有 60 张表格生成一份报告,这些表格按国家/地区列出所有名称,其中值 B =“XYV”,并在 D 中显示相应的值。

希望这是有道理的!

我一直在尝试在工作表中使用数据透视表,但如果我只选择所需的列(这需要永远做!)或者如果我选择整个工作表,我会得到无效的引用。

我可以在 VBA 宏中执行此操作吗?

抱歉,我是这种方式的 Excel 新手,因此我们将不胜感激……</p>

4

1 回答 1

1

使用 VBA,这是可行的(尽管它需要整理——我已经将它包括在内以给你这个想法):

Sub FindItems()

Const Thing As String = "XYV"

'remember which workbook you are on
Dim wb As Workbook
Set wb = ActiveWorkbook

'create new book for answer
Dim AnswerBook As Workbook
Set AnswerBook = Workbooks.Add

'loop over sheets in original workbook
Dim ws As Worksheet
Dim c As Range
Dim BCells As Range

For Each ws In wb.Worksheets

    'check each cell in column B
    wb.Activate
    ws.Select

    Range("B1").Select
    Set BCells = Range(ActiveCell, ActiveCell.End(xlDown))

    For Each c In BCells

        If LCase(c.Value) = LCase(Thing) Then

            'add to list
            AnswerBook.Activate
            ActiveCell.Value = ws.Name
            ActiveCell.Offset(0, 1).Value = c.Value
            ActiveCell.Offset(0, 2).Value = c.Offset(0, 2).Value

            ActiveCell.Offset(1, 0).Select

        End If
    Next c

Next ws

结束子

于 2013-03-07T14:16:33.043 回答