Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
paulocezarpicos

Comentar Código Fonte VBA

Recommended Posts

Boa Tarde amigos do Clube do Hardware,

 

Peço por favor que alguém comente esse código abaixo, estou precisando aplica-lo em outro projeto e não estou conseguindo. Segue código:

 

Sub InsereNomesUAPICOS()
 Dim LR As Long, k As Long, m As Long, x As Long
  LR = Sheets("geral").Cells(Rows.Count, "L").End(xlUp).Row
  Sheets("Recebimento (2)").Range("B10:D27").ClearContents
    For m = 12 To 13
      For k = 10 To LR
        If Application.CountIf(Sheets("Recebimento (2)").Columns(2), Sheets("geral").Cells(k, m)) < 1 _
         And Sheets("geral").Cells(k, 3) = Date And Sheets("Geral").Cells(k, 6) = "UA PICOS" Then
          Sheets("Recebimento (2)").Cells(x + 10, 2) = Sheets("geral").Cells(k, m)
          x = x + 1
        End If
      Next k
    Next m
End Sub

 

Para facilitar, estou enviando em anexo o arquivo.

 

De já meus agradecimentos,

 

 

Paulo Cezar.

Desligamentos Programados nº 060-2017.zip

Compartilhar este post


Link para o post
Compartilhar em outros sites

Espero que ajude!

Não se era isto mesmo, que precisava!

 


' Declarando/criando a rotina, que não recebe parâmetros/variaveis/valores para execução
Sub InsereNomesUAPICOS()
    ' Declaração de variaveis
    Dim LR As Long, k As Long, m As Long, x As Long
    
    ' Inicializando as variaveis / inputando valores nas variaveis
    
    ' recuperando o valor da última célular preenchida na coluna L da aba Geral, assim setando o numero da linha na variavel.
    ' Basicamente o código orienta ao interpretador VBA, selecionar a última celular de toda a planilha
    ' e depois como se usasse o Shift+End, através do qual você consegue ir para última celular preenchida.
    LR = Sheets("geral").Cells(Rows.Count, "L").End(xlUp).Row
    
    ' Limpa o conteúdo e formatação do range B10 até D27
    Sheets("Recebimento (2)").Range("B10:D27").ClearContents
    
    ' Executa o laço/repetição um vez
    For m = 12 To 13
      ' Executa o laço de 10 até o número da última linha preenchida
      For k = 10 To LR
        ' Usando a função do excel ContSe
        ' Aonde ele orienta que na coluna B da planilha recebimento, contabilize o valor da célula,
        ' dando a posição da célula os valores das variaveis m e k, aonde k é a coluna K e m é a linha
        
        If Application.CountIf(Sheets("Recebimento (2)").Columns(2), Sheets("geral").Cells(k, m)) < 1 _
            ' se a função contse for menor do que 1 e o valor da linha 3 da coluna K for igual a data atual (ou seja,  a data do momento da execução da macro
            ' e o valor da linha 6 da coluna k for UA PICOS
            And Sheets("geral").Cells(k, 3) = Date And Sheets("Geral").Cells(k, 6) = "UA PICOS" Then
                ' Atualiza o valor da aba racebimento 2 de acordo com o valor da aba geral
                Sheets("Recebimento (2)").Cells(x + 10, 2) = Sheets("geral").Cells(k, m)
                x = x + 1
        End If
        
      Next k
    Next m
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Caro Philipp Moreira,

    Agradecido por se dá ao trabalho de me auxiliar nesse trabalho.

     

    Só que tem um detalhe, na coluna "K" não tem nada e a coluna onde cita a UA PICOS é na coluna "F". Faça uma nova leitura pra ver se melhora.

     

    Mais uma vez, agradaecido

     

    Paulo Cezar.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Senhores do Clube do Haardware,

     

    Agradeço a todos que tentaram me ajudar. Consegui com muito sofrimento desenrolar o código acima citado, mais uma vez muito obrigado a todos.

    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






    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

    ×