Ошибка "несовпадение типа" при вызове процедуры - VBA

Узнай цену своей работы

Формулировка задачи:

День добрый... Подскажите, где я "туплю": При вызове ReloadFIO говорит "несовпадение типов 13":
Листинг программы
  1. Private Sub MultiPage1_Change()
  2. If UserForm1.MultiPage1.Value = 2 Then Call ReloadFIO(UserForm1.ListBox1, UserForm1.ListBox2)
  3. End Sub
сама процедура:
Листинг программы
  1. Private Sub ReloadFIO(LB1 As ListBox, LB2 As ListBox)
  2. Dim FIOArr() As String
  3. Dim i As Integer, q As Integer, j As Integer
  4. Dim F As String
  5. LB1.Clear
  6. LB2.Clear
  7. q = 0
  8. For i = 3 To (CInt(ThisWorkbook.Worksheets("ФИО").Cells(1, 2).Value) - 1)
  9. q = q + 1
  10. ReDim Preserve FIOArr(2, q)
  11. F = CStr(ThisWorkbook.Worksheets("ФИО").Cells(i, 1).Value) & " " & CStr(ThisWorkbook.Worksheets("ФИО").Cells(i, 2).Value)
  12. If Len(CStr(ThisWorkbook.Worksheets("ФИО").Cells(i, 3).Value)) > 0 Then F = F & " " & CStr(ThisWorkbook.Worksheets("ФИО").Cells(i, 3).Value)
  13. FIOArr(1, q) = CStr(i)
  14. FIOArr(2, q) = F
  15. Next
  16. For i = (UBound(FIOArr, 2) - 1) To 1 Step -1
  17. For q = 1 To i Step 1
  18. If (CStr(FIOArr(2, q + 1)) < CStr(FIOArr(2, q))) Then
  19. For j = 1 To 2 Step 1
  20. F = FIOArr(j, q)
  21. FIOArr(j, q) = FIOArr(j, q + 1)
  22. FIOArr(j, q + 1) = F
  23. Next j
  24. End If
  25. Next q
  26. Next i
  27. For i = 1 To (UBound(FIOArr, 2))
  28. LB1.AddItem (FIOArr(2, i))
  29. LB2.AddItem (FIOArr(1, i))
  30. Next
  31. End Sub

Решение задачи: «Ошибка "несовпадение типа" при вызове процедуры»

textual
Листинг программы
  1. Private Sub ReloadFIO(LB1 As MSForms.ListBox, LB2 As MSForms.ListBox)

ИИ поможет Вам:


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

Оцени полезность:

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы