Ir para conteúdo
Fórum Script Brasil

The Guga

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre The Guga

The Guga's Achievements

0

Reputação

  1. beleza galera... Bom, preciso da ajuda de voces para otimizar uma parte do código de uma aplicação que estou responsável. Abaixo esta o código que existe hoje, ele oculpa umas 6 folhas e poderá caso conseguir ser resumido em algumas linhas.... Private Sub FinishButton_Click() Dim I, J, K, Equip_A, Equip_E, Equip_NS, Equip_T, Aprov_Geral, Cont As Integer Acertos = 0 Erros = 0 Sem_Resp = 0 Workbooks("Avaliacao.xls").Activate 'ativa a planilha avaliação NumeroQuestoes = Worksheets("Configurações").Cells(5, 11) 'retorna o valor da celula da linha 5 coluna 11 ( k5 ) e o guarda na variavel NumeroQuestoes ' Questao 1 ' AQUI COMEÇA O CÓDIGO QUE QUERO OTIMIZAR If Me.OptionButton1.Value = True Then ' NOTE QUE O NOME DO BOTÃO OptionButton1 tem o valor 1 e será incrementado em 3 quando passar para a questão 2 Matriz(0, 3) = 1 ' Na matriz temos dois valores 0 e 3 será incrementado de um em um ElseIf Me.OptionButton2.Value = True Then 'Idem do OpitinoButton1, será incrementado de 3 em 3 Matriz(0, 3) = 0 Else Matriz(0, 3) = 2 End If ' Questao 2 If Me.OptionButton4.Value = True Then Matriz(1, 3) = 1 ElseIf Me.OptionButton5.Value = True Then Matriz(1, 3) = 0 Else Matriz(1, 3) = 2 End If ' Questao 3 If Me.OptionButton7.Value = True Then Matriz(2, 3) = 1 ElseIf Me.OptionButton8.Value = True Then Matriz(2, 3) = 0 Else Matriz(2, 3) = 2 End If ' Questao 4 If Me.OptionButton10.Value = True Then Matriz(3, 3) = 1 ElseIf Me.OptionButton11.Value = True Then Matriz(3, 3) = 0 Else Matriz(3, 3) = 2 End If ' Questao 5 If Me.OptionButton13.Value = True Then Matriz(4, 3) = 1 ElseIf Me.OptionButton14.Value = True Then Matriz(4, 3) = 0 Else Matriz(4, 3) = 2 End If ' Questao 6 If Me.OptionButton16.Value = True Then Matriz(5, 3) = 1 ElseIf Me.OptionButton17.Value = True Then Matriz(5, 3) = 0 Else Matriz(5, 3) = 2 End If ' Questao 7 If Me.OptionButton19.Value = True Then Matriz(6, 3) = 1 ElseIf Me.OptionButton20.Value = True Then Matriz(6, 3) = 0 Else Matriz(6, 3) = 2 End If ' Questao 8 If Me.OptionButton22.Value = True Then Matriz(7, 3) = 1 ElseIf Me.OptionButton23.Value = True Then Matriz(7, 3) = 0 Else Matriz(7, 3) = 2 End If ' Questao 9 If Me.OptionButton25.Value = True Then Matriz(8, 3) = 1 ElseIf Me.OptionButton26.Value = True Then Matriz(8, 3) = 0 Else Matriz(8, 3) = 2 End If ' Questao 10 If Me.OptionButton28.Value = True Then Matriz(9, 3) = 1 ElseIf Me.OptionButton29.Value = True Then Matriz(9, 3) = 0 Else Matriz(9, 3) = 2 End If ' Questao 11 If Me.OptionButton31.Value = True Then Matriz(10, 3) = 1 ElseIf Me.OptionButton32.Value = True Then Matriz(10, 3) = 0 Else Matriz(10, 3) = 2 End If ' Questao 12 If Me.OptionButton34.Value = True Then Matriz(11, 3) = 1 ElseIf Me.OptionButton35.Value = True Then Matriz(11, 3) = 0 Else Matriz(11, 3) = 2 End If ' Questao 13 If Me.OptionButton37.Value = True Then Matriz(12, 3) = 1 ElseIf Me.OptionButton38.Value = True Then Matriz(12, 3) = 0 Else Matriz(12, 3) = 2 End If ' Questao 14 If Me.OptionButton40.Value = True Then Matriz(13, 3) = 1 ElseIf Me.OptionButton41.Value = True Then Matriz(13, 3) = 0 Else Matriz(13, 3) = 2 End If ' Questao 15 If Me.OptionButton43.Value = True Then Matriz(14, 3) = 1 ElseIf Me.OptionButton44.Value = True Then Matriz(14, 3) = 0 Else Matriz(14, 3) = 2 End If ' Questao 16 If Me.OptionButton46.Value = True Then Matriz(15, 3) = 1 ElseIf Me.OptionButton47.Value = True Then Matriz(15, 3) = 0 Else Matriz(15, 3) = 2 End If ' Questao 17 If Me.OptionButton49.Value = True Then Matriz(16, 3) = 1 ElseIf Me.OptionButton50.Value = True Then Matriz(16, 3) = 0 Else Matriz(16, 3) = 2 End If ' Questao 18 If Me.OptionButton52.Value = True Then Matriz(17, 3) = 1 ElseIf Me.OptionButton53.Value = True Then Matriz(17, 3) = 0 Else Matriz(17, 3) = 2 End If ' Questao 19 If Me.OptionButton55.Value = True Then Matriz(18, 3) = 1 ElseIf Me.OptionButton56.Value = True Then Matriz(18, 3) = 0 Else Matriz(18, 3) = 2 End If ' Questao 20 If Me.OptionButton58.Value = True Then Matriz(19, 3) = 1 ElseIf Me.OptionButton59.Value = True Then Matriz(19, 3) = 0 Else Matriz(19, 3) = 2 End If ' Questao 21 If Me.OptionButton61.Value = True Then Matriz(20, 3) = 1 ElseIf Me.OptionButton62.Value = True Then Matriz(20, 3) = 0 Else Matriz(20, 3) = 2 End If ' Questao 22 If Me.OptionButton64.Value = True Then Matriz(21, 3) = 1 ElseIf Me.OptionButton65.Value = True Then Matriz(21, 3) = 0 Else Matriz(21, 3) = 2 End If ' Questao 23 If Me.OptionButton67.Value = True Then Matriz(22, 3) = 1 ElseIf Me.OptionButton68.Value = True Then Matriz(22, 3) = 0 Else Matriz(22, 3) = 2 End If ' Questao 24 If Me.OptionButton70.Value = True Then Matriz(23, 3) = 1 ElseIf Me.OptionButton71.Value = True Then Matriz(23, 3) = 0 Else Matriz(23, 3) = 2 End If ' Questao 25 If Me.OptionButton73.Value = True Then Matriz(24, 3) = 1 ElseIf Me.OptionButton74.Value = True Then Matriz(24, 3) = 0 Else Matriz(24, 3) = 2 End If ' Questao 26 If Me.OptionButton76.Value = True Then Matriz(25, 3) = 1 ElseIf Me.OptionButton77.Value = True Then Matriz(25, 3) = 0 Else Matriz(25, 3) = 2 End If ' Questao 27 If Me.OptionButton79.Value = True Then Matriz(26, 3) = 1 ElseIf Me.OptionButton80.Value = True Then Matriz(26, 3) = 0 Else Matriz(26, 3) = 2 End If ' Questao 28 If Me.OptionButton82.Value = True Then Matriz(27, 3) = 1 ElseIf Me.OptionButton83.Value = True Then Matriz(27, 3) = 0 Else Matriz(27, 3) = 2 End If ' Questao 29 If Me.OptionButton85.Value = True Then Matriz(28, 3) = 1 ElseIf Me.OptionButton86.Value = True Then Matriz(28, 3) = 0 Else Matriz(28, 3) = 2 End If ' Questao 30 If Me.OptionButton88.Value = True Then Matriz(29, 3) = 1 ElseIf Me.OptionButton89.Value = True Then Matriz(29, 3) = 0 Else Matriz(29, 3) = 2 End If For I = 0 To NumeroQuestoes If Matriz(I, 2) = Matriz(I, 3) Then Matriz(I, 4) = 1 Acertos = Acertos + 1 ElseIf Matriz(I, 3) = 2 Then Matriz(I, 4) = 2 Sem_Resp = Sem_Resp + 1 Else Matriz(I, 4) = 0 Erros = Erros + 1 End If Next I Resultados.Label4.Caption = Acertos & " Questões - " & Round(((Acertos / NumeroQuestoes) * 100), 2) & "%" Resultados.Label5.Caption = Erros & " Questões - " & Round(((Erros / NumeroQuestoes) * 100), 2) & "%" Resultados.Label6.Caption = Sem_Resp & " Questões - " & Round(((Sem_Resp / NumeroQuestoes) * 100), 2) & "%" Aprov_Geral = Round(Acertos / NumeroQuestoes * 100, 2) Resultados.Label7.Caption = Aprov_Geral & "%" PENSEI E RESUMIR TODA ESTAS QUESTÕES COM A FUNÇÃO ABAIXO ONDE: INSERI VARIAVEIS INTEIRAS: Q = IRA SER INCREMENTADO DE UM EM UM E FICAR DENTRO DO PARENTESES DA MATRIZ COMO DESCREVI B = 1 TERA O VALOR INICIAL DE 1 PARA O OptionButton1 C = 2 TERA O VALOR INICIAL DE 2 PARA O OptionButton2 ABAIXO O CÓGIDO ' DEFINIDO AS VARIAVEIS NO INICIO DO CÓDIGO AUX1 E AUX2 COMO STRING E Q,B,C COMO INTEIRAS Q = 0 B = 1 C = 2 Do Aux1 = (OptionButton & "B") 'TENHO QUE FAZER COM QUE EU CONCATENE A PALAVRA OptionButton COM O NOVO VALOR Aux2 = OptionButton & "C" If Me.Aux1.Value = True Then 'AUX1 IRA RECEBER A STRIG AMARZENADA PARA O BOTÃO, ESTA DANDO ERRO AQUI ERRO: ERRO DE COMPILAÇÃO ( SELECIONADO .Aux1 ) era esperado: Método ou membro de 'dados não encontrado Matriz(Q, 3) = 1 ElseIf Me.Aux2.Value = True Then ' DANDO O MESMO ERRO AQUI Matriz(Q, 3) = 0 Else Matriz(Q, 3) = 2 End If Q = Q + 1 AQUI OS VALORES SÃO INCREMENTADOS B = B + 3 C = C + 3 Loop While (Q < NumeroQuestoes) JÁ TENTEI CONCATENAR NO LOCAL DA AUX1 E 2 A STRING OptionButton COM OS VALORES B E C MAS TENDO O MESMO PROBLEMA DE ERRO DE COMPILAÇÃO... DESDE JÁ AGRADEÇO A AJUDA DE vocês.. VALEU GALERA... THE GUGA
×
×
  • Criar Novo...