Как я могу это сделать !? У меня есть рабочая тетрадь Excel с 60 листами, и все 60 имеют одинаковые заголовки столбцов и количество столбцов.
На каждом листе указано название страны, а строки имеют названия в столбце A, статус в B и код D.
Мне нужно создать отчет, используя все 60 листов, в которых перечислены все имена по странам, где значение B = "XYV", и показано соответствующее значение в D.
Надеюсь, это имеет смысл!
Я пытался использовать сводную таблицу на всем листе, но либо получаю недопустимую ссылку, если выбираю только нужные столбцы (а это занимает целую вечность!), Либо недостаточно памяти, если я выбираю весь лист.
Могу ли я сделать это в макросе VBA?
Извините, я новичок в Excel, поэтому любая помощь будет принята с благодарностью ...
Ответ 1 · рейтинг 1 · Andy Brown
Используя 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
Конец подписки