Ошибка выполнения Excel «6»: переполнение с помощью варианта - PullRequest
0 голосов
/ 08 апреля 2020

Я пытался запустить этот код, я получил его в inte rnet и думаю, что я могу использовать это на своем листе. Вот код, и я получаю «Проблемы переполнения»

Private Sub Workbook_Open()
Dim ar As Variant
Dim j As Integer
Dim str As String

ar = Sheet3.Range("A1").CurrentRegion

    For j = 2 To UBound(ar)
        If InStr(str & ",", "," & ar(j, 1) & ",") = 0 Then str = str & "," & ar(j, 1)
    Next

    Sheet1.ComboBox1.List = Split(Mid(str, 2), ",")
    Sheet1.ComboBox2.Clear
    Sheet1.ComboBox3.Clear

End Sub

В Sheet3 есть 4 столбца с 43k строками. Может быть, именно здесь я получаю ошибку. Я пытаюсь обрезать свои данные до 35 Кб, и это прекрасно работает, однако регионы не полны.

Что мне делать с этим? Заранее спасибо, ребята!

РЕДАКТИРОВАТЬ Моя проблема была исправлена ​​благодаря BraX за помощь, J должен быть Long, а не Integer.

Теперь другая проблема возникла с другой частью кодов. Вот оно.

Function Cmbo(j)
Dim n As Integer
Dim i As Integer
Dim ar As Variant
Dim str As String

ar = Range("A1").CurrentRegion

    *For i = 1 To UBound(ar)*
        For n = 1 To j
            If ar(i, n) <> Sheet1.OLEObjects("ComboBox" & n).Object.Value Then Exit For
        Next n
        If n = j + 1 And InStr(str & ",", "," & ar(i, n) & ",") = 0 Then
            str = str & "," & ar(i, n)
        End If
    Next

Cmbo = Mid(str, 2)
End Function

Ошибка показывает несоответствие типов, ошибка 13. Спасибо, ребята!

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