Я получаю ошибку несоответствия типа при попытке запустить этот код при открытии книги, строка, выделенная отладчиком, является второй и последней, я добавил комментарий к код, чтобы вы знали, где.Excel VBA - уникальный список - несоответствие типа
Линия, в которой есть ошибка, совпадает с строкой кода, поэтому я не уверен, почему я получаю ошибку несоответствия типа после второго цикла.
Я проверил две петли отдельно в своих собственных модулях, и он отлично работает. Это когда я объединяю их в один модуль и пытаюсь запустить при открытии книги, чтобы получить ошибку.
Private Sub Workbook_Open()
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Set dt = CreateObject("Scripting.Dictionary")
Set InputRng = Worksheets("AA").Range("C2:AF366")
Set OutRng = Worksheets("Unique Lists").Range("A2")
For Each rng In InputRng
If rng.Value <> "" Then
dt(rng.Value) = ""
End If
Next
OutRng.Range("A1").Resize(dt.Count) = Application.WorksheetFunction.Transpose(dt.Keys)
Application.CutCopyMode = False
Set dt = CreateObject("Scripting.Dictionary")
Set InputRng = Worksheets("CT").Range("C2:AF366")
Set OutRng = Worksheets("Unique Lists").Range("B2")
For Each rng In InputRng
If rng.Value <> "" Then
dt(rng.Value) = ""
End If
Next
'ERROR OCCURS ON THE NEXT LINE
OutRng.Range("A1").Resize(dt.Count) = Application.WorksheetFunction.Transpose(dt.Keys)
End Sub
Для информации: код предназначен для создания 2 уникальных списков из диапазонов ячеек на разных листах при открытии рабочей книги.
ли значения ваш Stor e во второй словарь долго (более 255 символов)? – R3uK
Нет, это имена людей – megatron77
В самой дружеской манере - почему бы вам не написать «Option Explicit» поверх вашего кода, попытаться скомпилировать его, а затем отправить его еще раз? https://msdn.microsoft.com/en-us/library/y9341s4f.aspx – Vityata