Мне нужно сделать еще один список только тех данных, рядом с которыми установлен флажок в VBA Excel.Какой будет код? - PullRequest
0 голосов
/ 12 июня 2018

Мне нужно перечислить данные, рядом с которыми установлен флажок.Поэтому у меня около 190 флажков, и мне нужно создать новый список на том же листе, содержащий только проверенные данные.Ранее я использовал опцию Y или N, и это был код для идеи.

Поскольку я вынужден добавлять больше деталей, я должен написать ненужные слова

Sub Button1_Click()

For I = 5 To 45
If (I = 20) Then

    I = I + 3
Else
If (I = 28) Then

    I = I + 3
End If
End If
If ((Worksheets("tests").Cells(I, 14) <> "Y") And (Worksheets("tests").Cells(I, 14) <> "N")) Then

    Worksheets("tests").Cells(250, 2) = Worksheets("tests").Cells(300, 2)
    TEMP = I
    Range(Cells(233, 1), Cells(233, 1)).Select
    GoTo 85
End If
Next I
For I = 83 To 126
Worksheets("tests").Cells(I, 3) = Worksheets("tests").Cells(3, 12)
Worksheets("tests").Cells(I, 2) = Worksheets("tests").Cells(I, 3)
Next I
For I = 133 To 172
Worksheets("tests").Cells(I, 3) = Worksheets("tests").Cells(3, 12)
Worksheets("tests").Cells(I, 2) = Worksheets("tests").Cells(I, 3)
Next I
J = 83
SUM1 = 0
For I = 5 To 19
If (Worksheets("tests").Cells(I, 14) = "Y") Then
    Worksheets("tests").Cells(J, 3) = Worksheets("tests").Cells(3, 2)
    I = 19
Else
    Worksheets("tests").Cells(J, 3) = Worksheets("tests").Cells(3, 12)
    SUM1 = SUM1 + 1
End If
Next I
If (SUM1 = 15) Then
GoTo 5
End If
J = J + 2
Sum = 0
For I = 5 To 19
If (Worksheets("tests").Cells(I, 14) = "Y") Then
    Worksheets("tests").Cells(J, 3) = Worksheets("tests").Cells(I, 2)
    Sum = Sum + 1
    Worksheets("tests").Cells(J, 2) = Sum
If (J = 126) Then
    J = J + 6
    GoTo 30
End If
30  
J = J + 1
End If
Next I
Sum = 0
J = J + 1
5 
SUM1 = 0
For I = 23 To 27
If (Worksheets("tests").Cells(I, 14) = "Y") Then
    Worksheets("tests").Cells(J, 3) = Worksheets("tests").Cells(21, 2)
    I = 27
Else
    Worksheets("tests").Cells(J, 3) = Worksheets("tests").Cells(3, 12)
    SUM1 = SUM1 + 1
End If
Next I
If (SUM1 = 5) Then
GoTo 10
End If
J = J + 2
For I = 23 To 27
If (Worksheets("tests").Cells(I, 14) = "Y") Then
    Worksheets("tests").Cells(J, 3) = Worksheets("tests").Cells(I, 2)
    Sum = Sum + 1
    Worksheets("tests").Cells(J, 2) = Sum
If (J = 126) Then
    J = J + 6
    GoTo 35
End If
35              
J = J + 1
Else
End If
Next I
Sum = 0
J = J + 1
10 
SUM1 = 0
For I = 31 To 45
If (Worksheets("tests").Cells(I, 14) = "Y") Then 
    Worksheets("tests").Cells(J, 3) = Worksheets("tests").Cells(29, 2)
    I = 45
Else
    Worksheets("tests").Cells(J, 3) = Worksheets("tests").Cells(3, 12)
    SUM1 = SUM1 + 1
End If
Next I
J = J + 2
For I = 31 To 45
If (Worksheets("tests").Cells(I, 14) = "Y") Then
    Worksheets("tests").Cells(J, 3) = Worksheets("tests").Cells(I, 2)
    Sum = Sum + 1
    Worksheets("tests").Cells(J, 2) = Sum
If (J = 126) Then
    J = J + 6
    GoTo 40
End If
40              
J = J + 1
Else
End If
Next I
Range(Cells(84, 1), Cells(84, 1)).Select
85       
Worksheets("tests").Cells(286, 15).Value = TEMP
250 
End Sub

Sub Button63_Click()
TEMP = Worksheets("tests").Cells(286, 15).Value
Range(Cells(TEMP, 14), Cells(TEMP, 14)).Select
End Sub

Sub MASTER()
Range(Cells(1, 1), Cells(1, 1)).Select
End Sub

Sub check()
Range(Cells(5, 14), Cells(5, 14)).Select
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...