Ir ao conteúdo
  • Cadastre-se

Philipp Moreira

Membro Pleno
  • Posts

    21
  • Cadastrado em

  • Última visita

Reputação

3
  1. No Seu projeto VBA, clique em Ferramentas >> Referencias e verifique: Se estiver usando DAO para se comunicar com o banco e realizar o registro dos dados: Se a biblioteca: Microsoft DAO 3.6 Object Library está assinalada; ou Se estiver usando ADODB para se comunicar com o banco e realizar o registro dos dados: Se a biblioteca: Microsoft ActiveX Data Object 2.8 Library está assinalada;
  2. Bruno, boa tarde! Creio que esteja encontrando o erro, pois nas condições IF você pede para verificar uma planilha com o nome Sheets5, porém, ao observar o navegador de objetos do lado esquerdo, não constatei a existencia de nenhuma aba/sheet como o nome Sheets5. Ao invés de Sheets 5 utilize o nome real da planilha de onden advem os dados que você quer chegar na condição. Por exemplo : Sheets17 ou Sheets("DOF") . . . Entendeu?
  3. Victor, bom dia! Rápido e fácil. Crie na modelo 1 uma tabela dinâmica que tenha como fonte de dados a modelo 2.
  4. Complementando a dica do Jhon, após inserir uma tabela: Clique na aba/ribbon Dados Deve ser exibida uma área chamada: Classificar e Filtra Clique em Classificar, será exibido uma janela na qual, poderá selecionar os campos na sequencia de hierarquia que a classificação deve ser seguida e para cada um deste campos você pode escolher se o organiza por ordem crescente ou decrescente.
  5. Dosepa, porque está usando a funcao GetTickCount? Não entendi . . . poderia me explicar? adicionado 31 minutos depois Mais ou menos isso ? CRONÔMETRO.zip
  6. Poste as duas planilhas com dados fakes(simulados/falsos), assim fica melhor entender o que pretende e o que já possui.
  7. Na sua rotina em que registra os itens nesta aba em que os itens não podem se repetir e devem ser somados, você inclui cada registro linha a linha? Caso esteja fazendo isso, tente, ao invés de escrever linha linha jogar em um array, e nele coloque um processamento para nao duplicar. Caso nao tenha entendido, poste uma planilha que contenha a estrutura e as rotinas VBA, para que os demais membros possam analisar e propor uma solução mais adequada.
  8. Wendel, boa noite! Eu recomendo não usar celulas mescladas, mas sim, informar o valor 6 na D1 e para ter o efeito visual que deseja, selecione da D1 até L1, botao direito, formatar celular, aba alinhamento e no alinhamento horizontal, escolha a opção alinhar conforme seleção. Fazendo da forma que sugeri acima como da forma que você evidenciou sua planilha, veja que por mais que as células estejam mescladas, o valor pode ser obtido sempre a partir da primeira célula da sequencia de células mescladas, no seu caso D1.
  9. Dani, vê se o exemplo te ajuda! Se tiver dúvidas da um toque! Exemplo.xlsx
  10. Olá, Pamela! Veja se o exemplo te ajuda quanto a parte do intervalo de datas. Neste exemplo utilizo a intervalo nomeado dinâmico, como ele facilita a manipulação de um range especifico e ele é incremental de forma automatica, pois a cada linha de registro que você inclua ele cresce automaticamente. Quanto ao enviar a planilha por e-mail e ela esta indo sem o código VBA, você ao salva-la é notificada de algum erro? Desculpe perguntar, mas, esta salvando como arquivo xlsm, xlsx ou ... ?
  11. Mais ou menos assim, Sub teste() Dim codigoInformado As variant codigoInformado = InputBox("Informe o código", "Filtro de tabela") If Not VBA.IsNumeric(codigoInformado) Or VBA.Len(VBA.Trim( codigoInformado)) < 1 Then Msgb "mensagem de notificação" Exit Sub End If If WorksheetFunction.CountIf([Informe o range/coluna aonde estão os códigos], codigoInformado < 1 Then Msgb "mensagem de notificação" Exit Sub End If ' Se passou pelas validações acima . . . execute seu processamento . . . End Sub
  12. 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...