Ir ao conteúdo
  • Cadastre-se
Marcela da Silva de Souza

Excel Algorítimo para Visual Basic paraExcel

Posts recomendados

7 horas atrás, Marcela da Silva de Souza disse:

que o menu poderia ter um comando para o usuário fechar aquela caixa de opções sem que ele ou ela mecha no código

 

No último código o usuário já escolhe a quantidade de números que vai digitar, então não precisa criar uma opção para sair.

 

Mas se quiser colocar essa opção, você criar uma regra para fechar a caixa se o usuário digitar 0 por exemplo.

 

Ou então no lugar do InputBox criar um formulário com o botão Sair.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 25/09/2019 às 09:42, olliver.soul disse:

 

No último código o usuário já escolhe a quantidade de números que vai digitar, então não precisa criar uma opção para sair.

 

Mas se quiser colocar essa opção, você criar uma regra para fechar a caixa se o usuário digitar 0 por exemplo.

 

Ou então no lugar do InputBox criar um formulário com o botão Sair.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 


E  preciso fazer a soma dos números um pelos outros igualmente como eu fiz com subtrações.

Sub Main()
    Dim I, J, N, T, R, W    As Integer
    Dim iVetor(12), iConta  As Integer
    Dim iColuna, iArq, x, y As Integer
    Dim sTipo               As String
    
    iConta = 0
    iColuna = 3
    iArq = FreeFile
       
    Open ThisWorkbook.Path & "\COMBINACOES.TXT" For Output As iArq
    
    For J = 0 To 11
        Do
            iVetor(J) = InputBox("Numero " & J + 1)
            N = 0
            
            If iVetor(J) < 1 Or iVetor(J) > 99 Then N = 1
        
            For R = 0 To 12
                If iVetor(J) = iVetor(R) And J <> R Then N = 1
            Next R
        Loop While N
    Next J
    
    For J = 0 To 10
        For W = J + 1 To 11
            If iVetor(J) > iVetor(W) Then
                T = iVetor(J)
                iVetor(J) = iVetor(W)
                iVetor(W) = T
            End If
        Next W
    Next J

    For J = 0 To 11
        x = Int(iVetor(J) / 10)
        y = Int(iVetor(J) Mod 10)
        sTipo = IIf(x Mod 2 = 0, "P", "I")
        sTipo = sTipo & IIf(y Mod 2 = 0, "P", "I")
        
        If x = 0 Then x = 10
        If y = 0 Then y = 10
        
        R = Abs(y - x)
        
        Cells(1, iColuna) = sTipo
        Cells(2, iColuna) = iVetor(J)
        Cells(3, iColuna) = y & "-" & x & "=" & R
        
        iColuna = iColuna + 1
    Next J
    
    For I = 0 To 5
        For J = I + 1 To 11
            For N = J + 1 To 11
                For R = N + 1 To 11
                    For T = R + 1 To 11
                        For W = T + 1 To 11
                            iConta = iConta + 1
                            Print #iArq, _
                                iConta & " -> " & iVetor(I) & " - " & _
                                iVetor(J) & " - " & iVetor(N) & " - " & _
                                iVetor(R) & " - " & iVetor(T) & " - " & iVetor(W)
                        Next W
                    Next T
                Next R
            Next N
        Next J
    Next I
    
    Close #iArq
   
    Cells(4, 3) = "Total de Cartões =>" & iConta
End Sub

Usar código acima:

adicionado 11 minutos depois
Em 24/09/2019 às 09:46, olliver.soul disse:

 

Os loops/For que me refiro são aqueles aninhados no final e que tem a função de escrever no arquivo.

 

Seu professor pediu assim?

 

Confirme o que o programa deve fazer dependendo da quantidade de números... Se tiver poucos por exemplo 4 ou 5 números.

 

A fórmula é o CONT.SE, mas você pode resolver isso aumentando o range até a última coluna

 

=CONT.SE($C$1:$XFD$1;C6)

 

 

 

Em 24/09/2019 às 16:05, olliver.soul disse:

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/09/2019 às 15:30, Marcela da Silva de Souza disse:

E  preciso fazer a soma dos números um pelos outros igualmente como eu fiz com subtrações.

É só somar x com y.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 28/09/2019 às 16:54, olliver.soul disse:

É só somar x com y.

Boa noite é só fazer assim como vou colocar no código

Sub Main()
    Dim I, J, N, T, R, W    As Integer
    Dim iVetor(12), iConta  As Integer
    Dim iColuna, iArq, x, y As Integer
    Dim sTipo               As String
    
    iConta = 0
    iColuna = 3
    iArq = FreeFile
       
    Open ThisWorkbook.Path & "\COMBINACOES.TXT" For Output As iArq
    
    For J = 0 To 11
        Do
            iVetor(J) = InputBox("Numero " & J + 1)
            N = 0
            
            If iVetor(J) < 1 Or iVetor(J) > 99 Then N = 1
        
            For R = 0 To 12
                If iVetor(J) = iVetor(R) And J <> R Then N = 1
            Next R
        Loop While N
    Next J
    
    For J = 0 To 10
        For W = J + 1 To 11
            If iVetor(J) > iVetor(W) Then
                T = iVetor(J)
                iVetor(J) = iVetor(W)
                iVetor(W) = T
            End If
        Next W
    Next J

    For J = 0 To 11
        x = Int(iVetor(J) / 10)
        y = Int(iVetor(J) Mod 10)
        sTipo = IIf(x Mod 2 = 0, "P", "I")
        sTipo = sTipo & IIf(y Mod 2 = 0, "P", "I")
        
        If x = 0 Then x = 10
        If y = 0 Then y = 10
        
        R = Abs(y + x)
        
        Cells(1, iColuna) = sTipo
        Cells(2, iColuna) = iVetor(J)
        Cells(3, iColuna) = y & "-" & x & "=" & R
        
        iColuna = iColuna + 1
    Next J
    
    For I = 0 To 5
        For J = I + 1 To 11
            For N = J + 1 To 11
                For R = N + 1 To 11
                    For T = R + 1 To 11
                        For W = T + 1 To 11
                            iConta = iConta + 1
                            Print #iArq, _
                                iConta & " -> " & iVetor(I) & " - " & _
                                iVetor(J) & " - " & iVetor(N) & " - " & _
                                iVetor(R) & " - " & iVetor(T) & " - " & iVetor(W)
                        Next W
                    Next T
                Next R
            Next N
        Next J
    Next I
    
    Close #iArq
   
    Cells(4, 3) = "Total de Cartões =>" & iConta
End Sub

Porém está dando erro de caminho.

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 horas atrás, Marcela da Silva de Souza disse:

Porém está dando erro de caminho.

É preciso salvar a planilha pelo menos uma vez antes de rodar a macro.

 

Ou então editar o caminho nessa parte,

 

Open ThisWorkbook.Path & "\COMBINACOES.TXT" For Output As iArq

 

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
8 horas atrás, olliver.soul disse:

É preciso salvar a planilha pelo menos uma vez antes de rodar a macro.

 

Ou então editar o caminho nessa parte,

 

Open ThisWorkbook.Path & "\COMBINACOES.TXT" For Output As iArq

 

 

Está certo o jeito que eu fiz? no código? Ainda está subtraindo e agora não pergunta a quantidade de número que o usuário quer colocar.

                      

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 horas atrás, Marcela da Silva de Souza disse:

Está certo o jeito que eu fiz? no código? Ainda está subtraindo e agora não pergunta a quantidade de número que o usuário quer colocar.

Esse não é o último código que eu postei.

 

O que pergunta a quantidade de números tem a variável iNumeros.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 04/10/2019 às 08:50, olliver.soul disse:

Esse não é o último código que eu postei.

 

O que pergunta a quantidade de números tem a variável iNumeros.

Okm.A parte de somar os números não está dando certo somei X com y não deu

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
25 minutos atrás, Marcela da Silva de Souza disse:

Okm.A parte de somar os números não está dando certo somei X com y não deu

Rodei o último código que você postou e esse foi o resultado,

 

soma.png.9e7f5ede6ae809cc286e0c182ee197a3.png

 

Está somando os algarismos. Não é assim?

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, olliver.soul disse:

Rodei o último código que você postou e esse foi o resultado,

 

soma.png.9e7f5ede6ae809cc286e0c182ee197a3.png

 

Está somando os algarismos. Não é assim?

 

Será que é por causa da versão do meu Excel 7 será que é isso?

 

adicionado 35 minutos depois
4 horas atrás, olliver.soul disse:

Rodei o último código que você postou e esse foi o resultado,

 

soma.png.9e7f5ede6ae809cc286e0c182ee197a3.png

 

Está somando os algarismos. Não é assim?

 

Tem alguma função para verficar sequência de números repetidos em um intervalo de tempo exemplo:

Concurso 4005-1 2 4 6 8 10  11 12  24 27 28  30*

Concurso-4006-3 5  6  7  9  11  15  17  23  25  30

Concurso 4007-1 2 4 6  8 10 11 12  24  27 28  30*

Intervalo- 1 jogo Concurso 4007 

 

 

Eu encontrei uma fórmula no Excel, mas será que tem no VBA?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
22 horas atrás, Marcela da Silva de Souza disse:

Será que é por causa da versão do meu Excel 7 será que é isso?

Tem que dar o mesmo resultado. Crie uma nova planilha, copie novamente esse último o código e faça outro teste.

 

22 horas atrás, Marcela da Silva de Souza disse:

Eu encontrei uma fórmula no Excel, mas será que tem no VBA?

Qual fórmula?

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, olliver.soul disse:

Tem que dar o mesmo resultado. Crie uma nova planilha, copie novamente esse último o código e faça outro teste.

 

Qual fórmula?

=CONTA-SES e a

=MOD

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Marcela da Silva de Souza

 

Para responder use a janela de resposta que fica logo abaixo da última resposta, não use o botão citar sem necessidade, pois fica poluindo o fórum com a cópia da última resposta.

 

[]s

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!