У меня есть этот макрос уже работает:Excel макрос, поиск по возвращению строки следующего значения ячейки
Sub ListSheetsValuesAreOn()
Dim X As Long, Data As Variant, Uniques As String, SH As Worksheet, NewSH As Worksheet
With CreateObject("Scripting.Dictionary")
For Each SH In Worksheets
Data = Application.Transpose(SH.Range("C23", SH.Cells(Rows.Count, "C").End(xlUp)))
For X = 1 To UBound(Data)
If IsEmpty(.Item(Data(X))) Then
.Item(Data(X)) = Data(X) & "|" & SH.Name
ElseIf Data(X) = Split(.Item(Data(X)), "|")(0) And _
Not .Item(Data(X)) Like "*|*" & SH.Name & "*" Then
.Item(Data(X)) = .Item(Data(X)) & ", " & SH.Name
End If
Next
Next
Sheets.Add After:=Sheets(Sheets.Count)
Set NewSH = ActiveSheet
NewSH.Range("A1").Resize(.Count) = Application.Transpose(.Items)
End With
NewSH.Name = "Result Sheet"
NewSH.Columns("A").TextToColumns , xlDelimited, , , 0, 0, 0, 0, 1, "|"
NewSH.Columns("A:B").AutoFit
End Sub
Что делает этот сценарий является: считанными значения в колонке C и поиск всех книг, чтобы найти эти значения. Возврат значений и листов, на которых они были найдены. Но я хочу вернуться не каждое значение в C, но следующий в колонке D. Пример:
Sheets 1...n Expected output (new sheet)
C | D A | B
item 1|description of item 1 description of item 1|1,4,6
item 2|description of item 2 description of item 2|3,7,11,12
... | .... .... | .....
item m|description of item m description of item m| 5,9,15,24
Данные должны включены столбец D тогда, то данные будут 2-D массив, пошагово, и вы можете исправить. –
любой код для этого решения? Я довольно новичок в excel макросах – Vlakont
Вы пытались изменить '' '' '' '' '' '' '' '' в строке 'Data = ...'? –