none
VBA RRS feed

  • Pergunta

  • Estou programando no Excel, elaborando uma planilha de controle de bug's e estou com uma dificuldade... Quero registrar em uma célula todos botões que estiverem marcados com a opção "Alta", em outra célula os que estiverem com a opção "Media" e em outra célula os que estiverem marcados com a opção "Baixa". como mostra o exemplo... Gostaria de saber como eu faço isso em termos de código?

    Muito obrigado!

     

     

    False Pict False Pict False Pict False Pict False Pict False Pict
     
      False Pict False Pict False Pict
     
    False Pict False Pict False Pict
     
    False Pict False Pict False Pict
     
    False Pict False Pict False Pict
     
               
    quinta-feira, 1 de março de 2007 20:26

Todas as Respostas

  • Amigo... não tá dando pra entender pelo exemplo que vc passou...

    Teria como reformulá-lo?

     

    Abraços!

    • Sugerido como Resposta Sousa.th segunda-feira, 29 de junho de 2009 18:51
    segunda-feira, 23 de abril de 2007 10:30

  • Code Snippet

    Private Sub btnAp14_Click()
        If (Me.btnAp14.value = True) Then
            Me.txtAp14.value = Me.txtAp14.value + 1
        If Me.txtRp14.value > 0 Then Me.txtRp14.value = Me.txtRp14.value - 1
        If Me.txtRC14.value > 0 Then Me.txtRC14.value = Me.txtRC14.value - 1
        End If
    End Sub

    Private Sub btnRp14_Click()
        If (Me.btnRp14.value = True) Then
            Me.txtRp14.value = Me.txtRp14.value + 1
        If Me.txtAp14.value > 0 Then Me.txtAp14.value = Me.txtAp14.value - 1
        If Me.txtRC14.value > 0 Then Me.txtRC14.value = Me.txtRC14.value - 1
        End If
    End Sub

    Private Sub btnRC14_Click()
        If (Me.btnRC14.value = True) Then
            Me.txtRC14.value = Me.txtRC14.value + 1
        If Me.txtRp14.value > 0 Then Me.txtRp14.value = Me.txtRp14.value - 1
        If Me.txtAp14.value > 0 Then Me.txtAp14.value = Me.txtAp14.value - 1
        End If
    End Sub

     

    Este trecho demonstra três botões chamados Aprovado (Ap), Reprovado (Rp) e Rever Conceito (RC). Em cada aba de uma planilha, esse grupo de botões aparece 36 vezes. Em uma planilha eu tenho 10 abas e todas elas têm os mesmos botões com os mesmos nomes. Só que, da forma que eu codifiquei, acredito que não seja a forma mais prática, eficiente e compacta, mesmo porque dessa forma eu não tenho um aproveitamento de códigos e para cada aba eu tenho que codificá-la novamente e o sistema fica muito pesado.

    Outro exemplo de um trecho de código do sistema, é o seguinte:


    Code Snippet

    Private Sub cbxAlta7_Click()
        Dim aux As Integer
            aux = 0
        If (Me.cbxAlta7.value = True) Then
            Me.Range("T8").value = Me.Range("T8").value + aux + 1
        Else: Me.Range("T8").value = Me.Range("T8").value + aux - 1
        End If
    End Sub

    Private Sub cbxMedia7_Click()
        Dim aux As Integer
            aux = 0
        If (Me.cbxMedia7.value = True) Then
            Me.Range("T9").value = Me.Range("T9").value + aux + 1
        Else: Me.Range("T9").value = Me.Range("T9").value + aux - 1
        End If
    End Sub

    Private Sub cbxBaixa7_Click()
        Dim aux As Integer
            aux = 0
        If (Me.cbxBaixa7.value = True) Then
            Me.Range("T10").value = Me.Range("T10").value + aux + 1
        Else: Me.Range("T10").value = Me.Range("T10").value + aux - 1
        End If
    End Sub

     

    Neste trecho eu tenho três chekbox: "Alta, Média e Baixa" e que também estão nas mesmas condições dos anteriores.

    Com a marcação de cada botão ou chekbox eu devo acrescentar ou retirar um número de uma célula. Ex: marquei um botão, soma-se um (1) em uma determinada célula. Isso tudo, porque no final, esses dados (das células) irão alimentar um gráfico.

    A pergunta é a seguinte: É possível melhorar esse código e fazer apenas um documento de código para alimentar todas as abas da minha planilha?

     

    Muito obrigado pela atenção!

     

    Wagner Duarte.

     


     

    segunda-feira, 23 de abril de 2007 20:12