Здравствуйте, прошу помочь с программным кодом. Сам до конца не уверен в чём именно проблема, но мне кажется, что она либо в If ... Then ... Else, либо в представлении значения Combobox
Скрытый текст |
|---|
| Код |
|---|
n = Range("a1").CurrentRegion.Rows.Count 'последняя строка в таблице
q = TextBox1 'задание имени для введенного в TextBox1
Worksheets.Add.Name = q 'Создание страницы с заданием имени введенным в Textbox1
Sheets("Отчет1").Activate 'Переход на основную рабочую страницу
Worksheets(q).Rows(1).Value = Worksheets("Отчет1").Rows(6).Value 'Перенос наименований(шапки)
Worksheets(q).Rows(2).Value = Worksheets("Отчет1").Rows(7).Value 'Перенос нумирации столбцов
S = 3 'задание переменной, для дальнейшего использования в вычислении строки в созданом листе
qq = ComboBox1.Text
qw = ComboBox2.Text
qe = ComboBox3.Text
For I = 8 To n 'задание цикла для перечисления всех строк
If qq = Worksheets("Отчет1").Cells(116, I) Then 'попытка создания условия для сортировки и дальнейшего переноса на создаваемый лист
If qw = Worksheets("Отчет1").Cells(I, 123) Then
If qe = Worksheets("Отчет1").Cells(I, 127) Then
Worksheets(q).Rows(S).Value = Worksheets("Отчет1").Rows(I).Value
S = S + 1
End If
End If
Else
MsgBox "Данной комбинации не обнаруженно", , Ошибка!
End If
Next I
|
| Код |
|---|
Sub InitBoxSort(B As MSForms.ComboBox)
Dim I As Long, C As Long, S$, L As Long, R As Long
For I = 7 To Cells.Rows.Count
S = Cells(I, 116)
If S = "" Then Exit For
L = 0
R = B.ListCount - 1
Do While R >= L
C = (R + L) \ 2
Select Case StrComp(S, B.List(C))
Case -1: R = C - 1
Case 1: L = C + 1
Case Else: GoTo NextI
End Select
Loop
B.AddItem S, L
NextI:
Next I
End Sub
|
|