Я пытался запустить этот код, я получил его в 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. Спасибо, ребята!