Нужно создать второй Scripting.Dictionary? - PullRequest
0 голосов
/ 06 ноября 2019

В настоящее время у меня есть таблица, содержащая сведения о сотруднике, например, разделение и филиал, которому они назначены. В настоящее время я просто беру уникальные ветки с кодом ниже. Чтобы захватить связанное разделение, которому принадлежит каждая ветвь (это столбец слева в таблице), я должен создать второй словарь сценариев, или есть более простой или эффективный способ сделать это? Спасибо за ваши предложения

Dim data(), dict As Object, r As Long
Set dict = CreateObject("Scripting.Dictionary")

data = Sheets("Employee").UsedRange.Columns(5).Value

For r = 1 To UBound(data)
    dict(data(r, 1)) = Empty
Next

data = WorksheetFunction.Transpose(dict.Keys())

1 Ответ

1 голос
/ 06 ноября 2019

Почему бы не сохранить разделение в словарной записи для этой ветви вместо сохранения значения EMPTY:

Dim data(), dict As Object, r As Long
Set dict = CreateObject("Scripting.Dictionary")

data = Sheets("Employee").UsedRange.Columns(5)

For each rngCell in data
    dict(rngCell.value) = rngCell.offset(,1).value
Next

data = WorksheetFunction.Transpose(dict.Keys())

Я не уверен, чего вы пытаетесь достичь, поэтому я не могупрокомментируйте оставшуюся часть кода (после транспонирования), но, по крайней мере, у вас все в одном месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...