Todas Atividades
Atualizada automaticamente
- Hoje
-
Healthy Heritage se registrou na comunidade
-
Siya Watson se registrou na comunidade
-
Nia Watson se registrou na comunidade
-
k9k9ilive se registrou na comunidade
- Yesterday
-
Skyla wilson se registrou na comunidade
-
Hungry Delivery se registrou na comunidade
-
Ruby Garza se registrou na comunidade
-
Smith Jones se registrou na comunidade
-
[AJUDA] Como gerar um texto com opções em VBA, usando UseForm no Excel?
pergunta respondeu ao BodeJNR18 de qwwq qwwqqw em Visual Basic
Olá! Tudo bem? O que você quer fazer é totalmente possível via VBA, e na verdade acaba ficando até mais flexível que o PROCV no Excel. A ideia é simples: quando o usuário escolher o Produto e a Embalagem no UserForm e clicar em Gerar, o VBA deve percorrer a planilha, filtrar as linhas que atendem aos critérios e somar os valores. A lógica básica funciona assim: Ler o valor selecionado nos ComboBoxes (por exemplo, cmbProduto e cmbEmbalagem). Percorrer todas as linhas da planilha onde estão os dados. Verificar se o Produto e a Embalagem da linha coincidem com a seleção. Se sim, acumular na variável de soma. Retornar o resultado no seu TextBox ou Label no UserForm. Aqui vai um exemplo simples para te ajudar a estruturar: Private Sub btnGerar_Click() Dim ws As Worksheet Dim ultimaLinha As Long Dim i As Long Dim prod As String Dim emb As String Dim soma As Double Set ws = ThisWorkbook.Sheets("Dados") ' nome da aba com os dados ultimaLinha = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row prod = cmbProduto.Value emb = cmbEmbalagem.Value soma = 0 ' Percorre todos os dados For i = 2 To ultimaLinha If ws.Cells(i, 1).Value = prod And ws.Cells(i, 2).Value = emb Then soma = soma + ws.Cells(i, 3).Value ' supondo que a soma está na coluna C End If Next i txtResultado.Value = soma End Sub Basta ajustar as colunas conforme a estrutura da sua planilha. Se quiser, pode mandar a imagem do UserForm e alguns exemplos de dados — aí posso adaptar o código exatamente ao que você precisa. -
Boa tarde! Pelo que entendi, você precisa agrupar os dados e somar os valores correspondentes usando VBA, transformando uma lista “massiva” em uma tabela resumida, semelhante ao exemplo da imagem. Uma abordagem simples e eficiente é usar um Dictionary para ir acumulando os valores por cada chave (por exemplo, por categoria, código, ou o campo que estiver na primeira coluna). Depois, basta escrever o resultado consolidado numa nova área da planilha. Aqui vai um exemplo de código VBA que costuma resolver exatamente esse tipo de problema: Sub AgruparESomar() Dim dict As Object Set dict = CreateObject("Scripting.Dictionary") Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Dados") ' ajustar nome da folha Dim ultimaLinha As Long ultimaLinha = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row Dim i As Long Dim chave As String Dim valor As Double ' Ler dados da lista original For i = 2 To ultimaLinha ' assumindo cabeçalho na linha 1 chave = ws.Cells(i, 1).Value valor = ws.Cells(i, 2).Value If dict.exists(chave) Then dict(chave) = dict(chave) + valor Else dict.Add chave, valor End If Next i ' Escrever resultado Dim linhaSaida As Long linhaSaida = 2 ' onde começar a saída Dim k As Variant For Each k In dict.Keys ws.Cells(linhaSaida, 4).Value = k ' coluna D = chave ws.Cells(linhaSaida, 5).Value = dict(k) ' coluna E = soma linhaSaida = linhaSaida + 1 Next k MsgBox "Processo concluído!" End Sub Como funciona: Lê cada linha da tabela original. Usa o Dictionary para somar valores repetidos. Escreve o resultado agrupado numa nova parte da planilha. Caso precise adaptar para mais colunas, somar vários campos ou usar critérios diferentes, posso ajustar o código conforme a sua estrutura de dados. Se puder, envie os nomes das colunas ou um exemplo textual da tabela!
-
qwwq qwwqqw se registrou na comunidade
- Última semana
-
Hoje eu precisei criar três botões dentro de um <form>. Utilizei três <button>, só que os dois últimos botões não funcionaram da maneira que esperava, eles estavam submetendo o formulário, quando eu não queria isso. Assim, eu decidi mudar os últimos botões para um link, eles faziam o que eu esperava, mas tudo ficou desalinhado. O navegador desenha o <button> de um jeito e o <a> de outro. O Copilot sugeriu eu usar a classe inline-block dentro do marcador <a> e deu certo! <script src="https://cdn.tailwindcss.com"></script> <form method=post action="?rota=Entrada_modalModificado"> <button type="submit" class="w-[100px] border border-4 rounded-lg px-2"> Atualizar </button> <a class="w-[100px] border border-4 rounded-lg px-2 inline-block text-center" href='?rota=Entrada_excluir_<?=$e->id?>'> Excluir </a> <a class="w-[100px] border border-4 rounded-lg px-2 inline-block text-center" href='?rota=Entrada_entraProduto'> Cancelar </a> </form>
-
Muhammad Arsalan Butt alterou sua foto pessoal
-
Dr Shoaib Aslam alterou sua foto pessoal
-
Eman Gynae alterou sua foto pessoal
-
Dr Syed Hassan Ahmed alterou sua foto pessoal
-
Dr Faizan Ahmad alterou sua foto pessoal
-
mahwish majeed alterou sua foto pessoal
-
man poke começou a seguir Solução Para O Erro De Permissões !
-
William Richard alterou sua foto pessoal
- Mais Cedo
-
Piter Freide começou a seguir Avaliem Meu Site!
-
Amigos!!!
-
BOYSO x começou a seguir Navegar em células visíveis em uma tabela filtrada utilizando VBA
-
Busca cep e endereço para adicionar no form.
pergunta respondeu ao Cleimar Lemes de Cleimar Lemes em Tutoriais & Dicas - PHP
-
Busca cep e endereço para adicionar no form.
pergunta respondeu ao Cleimar Lemes de Frank K Hosaka em Tutoriais & Dicas - PHP
Muito bom! Fiz o teste por aqui e deu certo, parabéns! -
Hardik Astroera alterou sua foto pessoal
-
Cleimar Lemes começou a seguir Busca cep e endereço para adicionar no form.
-
Busca cep e endereço para adicionar no form.
uma questão postou Cleimar Lemes Tutoriais & Dicas - PHP
<!-- Etapa 2 --> <div class="etapa hidden"> <label class="block mb-2">CEP: <input type="text" id="cep" name="cep" value="<?= htmlspecialchars($cliente['cep'] ?? '') ?>" class="mt-1 block w-full border-gray-300 rounded-md" required> </label> <label class="block mb-2">Endereço: <input type="text" id="endereco" name="endereco" value="<?= htmlspecialchars($cliente['endereco'] ?? '') ?>" class="mt-1 block w-full border-gray-300 rounded-md" required> </label> <label class="block mb-2">Setor/Bairro: <input type="text" id="setor" name="setor" value="<?= htmlspecialchars($cliente['setor'] ?? '') ?>" class="mt-1 block w-full border-gray-300 rounded-md" required> </label> <label class="block mb-2">Cidade: <input type="text" id="cidade" name="cidade" value="<?= htmlspecialchars($cliente['cidade'] ?? '') ?>" class="mt-1 block w-full border-gray-300 rounded-md" required> </label> <label class="block mb-2">Estado: <input type="text" id="estado" name="estado" value="<?= htmlspecialchars($cliente['estado'] ?? '') ?>" class="mt-1 block w-full border-gray-300 rounded-md" required> </label> <!-- Campo oculto para código IBGE, se quiser armazenar --> <input type="hidden" id="ibge" name="ibge"> </div> <script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> <script> $(document).ready(function() { function limpaFormularioCep() { $("#endereco").val(""); $("#setor").val(""); $("#cidade").val(""); $("#estado").val(""); $("#ibge").val(""); } $("#cep").blur(function() { var cep = $(this).val().replace(/\D/g, ''); if (cep !== "") { var validacep = /^[0-9]{8}$/; if (validacep.test(cep)) { $("#endereco").val("..."); $("#setor").val("..."); $("#cidade").val("..."); $("#estado").val("..."); $("#ibge").val("..."); $.getJSON("https://viacep.com.br/ws/" + cep + "/json/?callback=?", function(dados) { if (!("erro" in dados)) { $("#endereco").val(dados.logradouro); $("#setor").val(dados.bairro); $("#cidade").val(dados.localidade); $("#estado").val(dados.uf); $("#ibge").val(dados.ibge); } else { limpaFormularioCep(); alert("CEP não encontrado."); } }); } else { limpaFormularioCep(); alert("Formato de CEP inválido."); } } else { limpaFormularioCep(); } }); }); </script> segue o codigo da parte do formulario de endereço e abaixo o script de busca.. o cep deve ser digitado sem - ou . assim: 75402035 -
Cleimar Lemes começou a seguir Tutoriais & Dicas - PHP
-
(Resolvido) Impressora Térmica não imprime carácter especial
pergunta respondeu ao robinhocne de Jose Santos em Delphi, Kylix
Cara, estamos em 2025 e ainda assim o seu foi o melhor comentário! Por mais pessoas assim!! Ainda ajuda muito a sua solução até hoje! -
Depois de muito tempo consegui encontrar com o Copilot a sintaxe para pegar o valor do <input> no Livewire: <input value="{{dec($histped[$indicador]['qt'])}}" wire:change="corrigirQt({{$indicador}},$event.target.value)" size="1" class="ml-3 text-right bg-transparent py-0 text-gray-500"> A maneira mais fácil de pegar o valor do input é o wire:model, onde o Livewire pode fazer uma conexão direita entre uma variável pública (tipo $histped) e o <input>, o meu problema é que usei o $histped para conectar diretamente no MySQL. O problema é que o MySQL e também o PHP usam o ponto como separador de decimal, mas o usuário no Brasil usa a vírgula. Logo não dá para usar o wire:model nesse caso. Mas,se não dá para usar o wire:model, como pegar o valor do input? Com a ajuda do Copilot, hoje conheci o parâmetro $event.target.value.
-
Travel-Pa alterou sua foto pessoal
-
LeoTaps Backlinks alterou sua foto pessoal
-
Testei hoje o seguinte código no arquivo index.php <script src="https:cdn.tailwindcss.com"></script> <div class="text-red-500">Olá mundo!</div> e deu certo, mas ontem o meu programa Orçamento apareceu sem nenhum estilo. O Copilot sugeriu mudar a conexão para <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script> O correto é criar o arquivo output.css mas eu não consegui, o melhor para mim foi pedir para o PHP conectar no servidor para buscar o estilo do Tailwind. O DevTools do Chrome reclama que não é para usar a conexão no modo produção, mas como a conexão funciona do jeito que eu espero, eu desconsidero o alerta.
-
Sub Query
pergunta respondeu ao Amauri de barros Alves de Amauri de barros Alves em Tutoriais & Dicas - SQL Server
R E S O L V I D O ******************************************************************* Eu coloquei As teste ao final da query e ele funcionou, o problema é que estava funcionando no Firebird sem precisas informar... o final da queri fucou assim: ... co.STATUS='F' and ci.fk_produto=1 ) As Teste group by CODIGO ORDER BY CODIGO ... Obrigadio -
Boa tarde, Eu estou analizando uma query que esta em um adoquery do Delphi e eletem uma query que no sql server não esta funcionando, e eu analizei e vi que ela não tem um operador para a subquery alguém já viu isto a query é esta aqui ******************************************************************************************** SELECT CODIGO, coalesce(sum(QTDRENTRADA-QTDRSAIDA),0) QTDR FROM( select ci.fk_produto as codigo, coalesce(ci.qtd,0) qtdrentrada, 0 as qtdrsaida from compra_itens ci left join produto pro on pro.codigo=ci.fk_produto left join compra co on co.id=ci.fk_compra where co.STATUS='F' and ci.fk_produto=1 ) group by 1 ORDER BY CODIGO ******************************************************************************************* Ele me retorna este erro: Mensagem 156, Nível 15, Estado 1, Linha 9 Sintaxe incorreta próxima à palavra-chave 'group'. Sei que voces não estão aqui pra me ensinar a gerenciar o banco mas não consigo ter nem ideia por onde começar, até porque no delphi acontece o seguinte: No firebird ele da o mesmo erro quando eu pego esta query e jogo na console, mas no fdquery que é o componente que le o banco firebird ele valida a fdquery. Agora na adoquery que é componente que le o sqlserver no delphi ele da o mesmo erro do enterprise manager alguém consegue me ajudar nisso? apenas para complementar o debugador do enterprise manager me retorna este erro
-
Criar uma coluna virtual na consulta
uma questão postou Jocimar Pequeno Tutoriais & Dicas - SQL Server
Saudações! Tenho uma tabela com 5 colunas: ANO_MES VALOR, JUROS. DESCONTOS ESTADO Onde o estado “P” é para quem pagou. Não tem a coluna valor pago que é o VALOR + JUROS – DESCONTOS O que preciso: Apresentar a soma de todas a colunas agrupadas do ANO_MES e acrescentar a coluna VLPAGO, também agrupada por ANO_MES. Fiz isso aqui, mas assim que completa, dá um erro: declare @vl_pago decimal(20,2); set @vl_pago = (select ANO_MES, (SUM(VALOR + JUROS - DESCONTOS)) as pagamento from arrecadacoes where ESTADO = 'P' and idcobranca = 1 and IDLAYOUT = 1 and ANO_MES > '202412' GROUP BY ANO_MES); SELECT ANO_MES AS ANO_MES, COUNT(ANO_MES) AS QTD, FORMAT(SUM(VALOR), 'N2') AS VLREC, FORMAT(SUM(JUROS), 'N2') AS VLJUR, FORMAT(SUM(DESCONTOS), 'N2') AS VLDES, @vl_pago AS VLPAG FROM ARRECADACOES WHERE ANO_MES>'202412' AND IDCOBRANCA = '1' AND IDLAYOUT = 1 GROUP BY ANO_MES ORDER BY ANO_MES, QTD -
It seems like you've run into a common issue when trying to manage form closure events in Visual Basic. Your approach to disable Alt + F4 using the `Form_QueryUnload` event is logical, but it's crucial to manage the `ReadyToClose
-
I can relate to the confusion around the 'while' function when I was new to programming as well. It's a loop that continues as long as a specified condition is true, which can be incredibly useful for tasks that require repetition until a certain condition is
-
À medida que abrimos as abas (documentos) no CorelDRAW 2021, é a qntd de arquivos que ele mostra ao clicarmos no ícone do corel na barra de tarefas do Windows 11... Isso é muito irritante, pois seria melhor a janela vir para frente e aí escolheríamos para qual das abas ir. Se alguém souber alguma configuração que tire isso, por favor, entre cm contato. Muito obrigado, antecipadamente.
-
Preciso criar um site de controle de escala.
pergunta respondeu ao Diogo Cabral Santos de Cleimar Lemes em Tutoriais & Dicas - PHP
OLA.. vou ver se consigo fazer alguma coisa no estilo.. não sei se ainda precisa mas vamos. la.. -
envio de formulário de cadastro com redirecionamento
pergunta respondeu ao Siames de kyeh mvrs em Tutoriais & Dicas - PHP
Que legal ver essa discussão sobre formulários PHP! Jogos como quebra-cabeças com dominó e jornada de escolhas morais também dependem de lógica e escolhas. Vocês já pensaram em usar essa lógica de programação para criar mecânicas de jogo? -
Oi pessoal, Estou testando a ideia de colocar um jogo de Mahjong em HTML5 direto em uma página web, usando CSS + Flexbox para deixar o layout simples e responsivo. A estrutura é basicamente uma grade de <div> onde cada tile é um item flex. Uso flex-wrap: wrap para que as peças se reorganizem automaticamente quando a janela muda de tamanho. Também centralizo tudo com justify-content: center e defino tamanhos proporcionais usando vw e vh. O desafio é manter o layout leve mesmo com muitas sombras e animações. Em alguns navegadores, o Flexbox pode ficar lento se houver muitos elementos. Outro ponto é ajustar o espaçamento — nem muito apertado nem muito solto — em diferentes resoluções. Alguém aqui já tentou algo parecido? Usaram só Flexbox ou combinaram com CSS Grid? Estou curioso pra saber qual abordagem funciona melhor em jogos com muitas peças.
-
Esse é o rascunho que pretendo usar no Condomínio do Cleimar Lemes, ele foi totalmente montado pelo Copilot, pedi para ele considerar a saída do relatório dentro de um celular no modo retrato (eu ainda não verifiquei se isso tudo cabe na tela do celular): <?php // Vetor de movimentos: formato 'Dia H:i:s' => valor (1 = saída, 0 = entrada) $movimentos = [ '2025-10-07 06:15:00' => 1, '2025-10-07 06:30:00' => 0, '2025-10-07 07:15:00' => 1, '2025-10-07 12:15:00' => 0, '2025-10-07 12:45:00' => 1, '2025-10-07 18:15:00' => 0, ]; // Emojis como separadores $emojis = [ 0 => '🔽', // Entrada 1 => '🔺', // Saída ]; // Construindo a linha $linha = ''; foreach ($movimentos as $dataHora => $tipo) { $horaMinuto = date('H:i', strtotime($dataHora)); $linha .= "{$emojis[$tipo]} $horaMinuto "; } // Exibir echo trim($linha); ?> Resultado: 🔺 06:15 🔽 06:30 🔺 07:15 🔽 12:15 🔺 12:45 🔽 18:15
-
PHP Obsoleto
pergunta respondeu ao Conan.Destemido de Christine Barber em Repositório de Scripts - PHP
Esse não é um arquivo do seu site, mas sim um arquivo padrão do servidor usado para exibir listagens de diretório (autoindex) -
Fonte Delphi SIGEP WEB Correios
tópico respondeu ao Marcos Fernandes de Alessandro Oliveira em Classificados & Serviços
Bom dia. Você comercializa o fontes do SIGEP Web em Delphi? Qual o valor? -
Como criar um relógio artificial no PHP? (Resolvido)
pergunta respondeu ao Frank K Hosaka de Cleimar Lemes em PHP
top.. parabens.. visto que hoje em dia o trem ta evoluindo pra reconhecimento facial pra resgistrar as entradas e saida ne.. mas o objetivo e estudar e gerar alternativas.. -
O Cleimar criou a tabela movimentações assim: id, idVisitante, nomeVisitante, placa,dataEntrada,horaEntrada,dataSaída,horaSaída,Acompanhantes. Eu fiz uma adaptação, usando o principio da atomicidade, e a tabela ficou assim: id, idPessoa, direcao, dataHora. Cada tabela tem que representar uma única tarefa, no caso de movimentação, alguém entra ou sai num determinado momento. O Cleimar fez um Controle de Entrada e Controle de Saída, eu já ajuntei tudo, e eu fiz o Movimento com dois botões, mais ou menos assim: <form><select /><input type="submit" name="entrada" value="registrar entrada" /><input type="submit" name="saida" value="registrar saída" /></form> Isso vai funcionar? O Copilot disse que sim, o HTML vai informar ao PHP qual o <input type="submit" /> que o usuário apertou. Eu já cadastrei o "João", ele é o único morador do condomínio. Não tem ninguém na portaria, logo o único que vai registrar a entrada e saída é ele mesmo. Mas para fazer o teste, eu precisava de um relógio artificial. Agora é 29/09/25 05:28, e para mudar isso eu preciso esperar 60 segundos. Eu precisava de um relógio mais rápido. ---- com a ajuda do Copilot e vários testes consegui isso: <?php session_start(); if (!isset($_SESSION['relogio'])) { $_SESSION['relogio'] = date('Y-m-d\TH:i:s'); } if (isset($_POST['entrada'])) { $relogioFormatado = date('Y-m-d\TH:i:s', strtotime($_POST['relogio_iso'])); $_SESSION['registros'][] = "🟢 Entrada " . date('d/m/y H:i',strtotime($_POST['relogio_iso'])); $_SESSION['relogio'] = $relogioFormatado; } if (isset($_POST['saida'])) { $relogioFormatado = date('Y-m-d\TH:i:s', strtotime($_POST['relogio_iso'])); $_SESSION['registros'][] = "🔴 Saída " . date('d/m/y H:i',strtotime($_POST['relogio_iso'])); $_SESSION['relogio'] = $relogioFormatado; } ?> <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <title>Registro de Movimentações</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-gray-100 flex items-center justify-center min-h-screen"> <form method="post" class="bg-white p-8 rounded-lg shadow-md space-y-4 w-full max-w-md"> <h2 class="text-2xl font-bold text-gray-800 text-center">🕒 Registro de Movimentações</h2> <input type="submit" name="entrada" value="Registrar Entrada" class="w-full bg-green-500 hover:bg-green-600 text-white font-semibold py-2 px-4 rounded transition"> <input type="submit" name="saida" value="Registrar Saída" class="w-full bg-red-500 hover:bg-red-600 text-white font-semibold py-2 px-4 rounded transition"> <div class="flex flex-col"> <label for="relogio" class="text-gray-700 font-medium mb-1">Horário Atual</label> <input name="relogio" id="relogio" readonly class="bg-gray-200 text-gray-800 font-mono px-4 py-2 rounded border border-gray-300 cursor-pointer hover:bg-gray-300 transition"> <small class="text-gray-500 mt-1">Clique no campo para avançar 2 horas</small> <input type="hidden" name="relogio_iso" id="relogio_iso"> </div> <?php if (!empty($_SESSION['registros'])): ?> <div class="mt-4 bg-gray-50 p-4 rounded border border-gray-200"> <h3 class="text-lg font-semibold text-gray-700 mb-2">📋 Registros:</h3> <ul class="list-disc list-inside text-gray-600 space-y-1"> <?php foreach ($_SESSION['registros'] as $registro): ?> <li><?= htmlspecialchars($registro) ?></li> <?php endforeach; ?> </ul> </div> <?php endif; ?> </form> <script> let relogioInput = document.getElementById('relogio'); let dataAtual = new Date("<?= $_SESSION['relogio'] ?>"); function atualizarRelogio() { relogioInput.value = dataAtual.toLocaleString('pt-BR'); document.getElementById('relogio_iso').value = dataAtual.toISOString().slice(0, 19); } setInterval(() => { dataAtual.setMinutes(dataAtual.getMinutes() + 30); atualizarRelogio(); }, 1000); relogioInput.addEventListener('click', () => { dataAtual.setHours(dataAtual.getHours() + 2); atualizarRelogio(); }); atualizarRelogio(); </script> </body> </html>
-
O projeto original está nesse endereço: https://drive.google.com/file/d/1Udo-PV4HAt6k3UGBICqlga6mwDAQx7FE/view?usp=sharing Vou tentar estudar o projeto dele, mas pretendo usar as classes e o CDN da tailwind e compartilhar nesse endereço: https://github.com/frankhosaka/condominio 27/09/2025 Criei os arquivos config.php e index.php para criar o banco de dados condomínio, com uma tabela usuários com apenas um morador que se chama João. 28/09/2025 Criei vários arquivos para executar a tarefa do login.
-
Estatísticas dos Fóruns
-
Tópicos152,5k
-
Posts652,4k
-