-
Total de itens
847 -
Registro em
-
Última visita
Tudo que Alyson Ronnan Martins postou
-
Bom dia @Matheus06 Tenta fazer um loop para ele sozinho identificar quantas e quais folha tem sua planilha, abaixo eu fiz um exemplo como ficaria fazer um loop pela planilha que tenho o nome sequência "01", "02, "05" ... e uma função para verificar se a planilha existe: Public Sub FiltrarDados() 'Variáveis Dim i As Long Dim Folha As String 'Desativar animações e calculos para macro ser mais rápida Application.ScreenUpdating = False Application.Calculation = xlCalculationManual 'Loop para fazer formatação For i = 1 To 20 Folha = Format(i, "00") If CheckSheet(Folha) Then 'Se existir a planilha fazer a formatação padrão Sheets(Folha).Select Columns("J:P").Select Selection.AutoFilter ActiveSheet.Range("$J$1:$P$3000").AutoFilter Field:=1, Criteria1:="=" Columns("O:P").Select Selection.EntireColumn.Hidden = False Range("A1").Select End If Next i 'Ativar animações e calculos Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Calculate End Sub Função para chegar se a folha existe: Function CheckSheet(pName As String) As Boolean 'Updateby20140617 'fonte: https://pt.extendoffice.com/documents/excel/1743-excel-check-if-a-sheet-exists.html#:~:text=Salve%20este%20c%C3%B3digo%2C%20volte%20para,na%20pasta%20de%20trabalho%20atual. Dim IsExist As Boolean IsExist = False For i = 1 To Application.ActiveWorkbook.Sheets.Count If Application.ActiveWorkbook.Sheets(i).Name = pName Then IsExist = True Exit For End If Next CheckSheet = IsExist End Function Como não tenho nenhuma planilha como exemplo não consigo simular em seus dados. Verificar se deu certo, se não tiver consigo tenta colocar uma planilha com dados fictícios dentro do google drive e compartilha o link para fazer o teste do código na minha máquina.
-
Boa tarde @sanderba Você pode usar o seguinte comando para gerar o arquivo PDF apartir de uma planilha: Sheets("Sua planilha").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\forum\Pasta1.pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _ True, IgnorePrintAreas:=False, OpenAfterPublish:=True
-
Salvar dados selecionados em um arquivo word para depois salvar em pdf
pergunta respondeu ao victorhco de Alyson Ronnan Martins em VBA
Boa noite @victorhco Faltou apenas a letra r: Words.SaveAs xFolderPath & "\" & xFileName & ".PDF" '(Nessa parte ta dando erro) Words.SaveAs xFolderPath & "\" & xFileName & ".PDF" '(Nessa parte ta dando erro) Verifica se deu certo -
Que bom Rodrigo, sorte e força na jornada.
-
Show.
-
Boa noite @rodrigo21sf Pegando a sua necessidade eu fiz um código, adaptando a maneira de ler um arquivo txt, e conseguir fazer o seguinte código e tela: Ao abrir o formulário ele carregar as informações do arquivo .ini: Public Sub carregarNomes() Dim LocalArquivo As String Dim LinhaArquivo As String Dim Categoria As String LocalArquivo = ThisWorkbook.Path & "\nomes.ini" If Dir(LocalArquivo) <> "" Then Open LocalArquivo For Input As #1 Do While Not EOF(1) Line Input #1, LinhaArquivo If Left(LinhaArquivo, 1) = "[" And Right(LinhaArquivo, 1) = "]" Then Categoria = Replace(Replace(LinhaArquivo, "[", ""), "]", "") Else Select Case Categoria Case "Meninos" frmPrincipal.ComboBox1.AddItem LinhaArquivo Case "Meninas" frmPrincipal.ComboBox2.AddItem LinhaArquivo Case "Neutros" frmPrincipal.ComboBox3.AddItem LinhaArquivo End Select End If Loop Close #1 End If End Sub Link arquivo: planilha
-
Boa noite, como você mandou um print mostrando (mais ou menos) como deve ser a planilha eu fiz o seguinte código: Public Sub btAcress_Click() Dim valorNovo As Long valorNovo = ActiveSheet.Range("K3").Value btAtualizarDatas valorNovo End Sub Public Sub btDecress_Click() Dim valorNovo As Long valorNovo = ActiveSheet.Range("K3").Value * -1 btAtualizarDatas valorNovo End Sub Public Sub btAtualizarDatas(Valor As Long) Dim planilhaNome As String Dim x As Long Dim ultimaLinhaPlanilha As Long planilhaNome = "Simulação" With Sheets(planilhaNome) ultimaLinhaPlanilha = .Cells(Rows.Count, "D").End(xlUp).Row For x = 2 To ultimaLinhaPlanilha If .Cells(x, "D").Value <> "" Then .Cells(x, "D").Value = .Cells(x, "D").Value + Valor End If Next x End With End Sub Planilha para download e teste Vídeo mostrando a planilha: vídeo Avalia esse código.
-
Uma dúvida, todos os dias devem ser alterados na coluna ou apenas o selecionado no formulário?
-
Boa noite @Leandro Moreno Você tem algum print mostrando mais ou menos como deseja essa função? Pensando que as informações vão esta dentro de um formulário pensei na seguinte possibilidade: Formulário: Código: Private Sub btAcress_Click() Dim x As Double x = CVDate(tData) x = x + tDias tResultado.Value = Format(x, "DD/MM/YYYY") End Sub Private Sub btDecress_Click() Dim x As Double x = CVDate(tData) x = x - tDias tResultado.Value = Format(x, "DD/MM/YYYY") End Sub
-
Tá tudo certo (eu acho), mas não grava no DB
pergunta respondeu ao Edilson Santiago de Alyson Ronnan Martins em PHP
*Outra correção: Notei que o SQL que faz o cadastro estava com uma palavra errada "TO usuarios" mudei para "INTO usuarios": $sql = $pdo->prepare("INSERT INTO usuarios (nome, email, senha, situacoe_id, niveis_acesso_id, created, modified) VALUES (:n, :a, :p, :s, :n, :c, :m)"); usuarios.php <?php Class Usuario { private $pdo; public $msgErro = ""; public function conectar($nome, $host, $usuario, $senha) { global $pdo; try { $dsn = 'mysql:host=' . $host . '; dbname=' . $nome; $options = [PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8']; $pdo = new PDO($dsn, $usuario, $senha, $options); } catch(PDOException $e) { $msgErro = $e->getMessage(); } } public function cadastrar($nome, $email, $senha)//, $situacoe_id, $niveis_acesso_id, $created, $modified) { global $pdo; $sql = $pdo->prepare("SELECT id FROM usuarios WHERE email = :e"); $sql->bindValue(":e",$email); $sql->execute(); if($sql->rowCount() > 0) { return false; } else { $created = date('d/m/y'); $modified = date('d/m/y'); $sql = $pdo->prepare("INSERT INTO usuarios (nome, email, senha, situacoe_id, niveis_acesso_id, created, modified) VALUES (:n, :a, :p, :s, :n, :c, :m)"); $sql->bindValue(":n",$nome); $sql->bindValue(":a",$email); $sql->bindValue(":p",md5($senha)); $sql->bindValue(":s",1); $sql->bindValue(":n",1); $sql->bindValue(":c",$created); $sql->bindValue(":m",$modified); $sql->execute(); return true; } } public function logar($email, $senha) { global $pdo; $sql = $pdo->prepare("SELECT id FROM usuarios WHERE email = :e AND senha = :p"); $sql->bindValue(":e",$email); $sql->bindValue(":p",md5($senha)); $sql->execute(); if($sql->rowCont() > 0) { $dado = $sql->fetch(); session_start(); $_SESSION["id"] = $dado["id"]; return true; } else { return false; } } } ?> -
Tá tudo certo (eu acho), mas não grava no DB
pergunta respondeu ao Edilson Santiago de Alyson Ronnan Martins em PHP
Bom dia @Edilson Santiago Quando fui fazer o teste aqui notei que você colocou variáveis para o comando INSERT no SQL: $sql = $pdo->prepare("INSERT TO usuarios ($nome, $email, $senha, $situacoe_id, $niveis_acesso_id, $created, $modified) VALUES (:n, :a, :p, :s, :n, :c, :m)"); Eu troquei, para os possíveis nomes da tabela, ficando dessa maneira: $sql = $pdo->prepare("INSERT TO usuarios ('nome', 'email', 'senha', 'situacoe_id', 'niveis_acesso_id', 'created', 'modified') VALUES (:n, :a, :p, :s, :n, :c, :m)"); Essa alteração mostrou que o cadastra precisava de mais parâmetros para realizar a função. Olha se essas observações te ajudam. -
Problema para gravar os dados USEFORM
pergunta respondeu ao Anderson Aragão de Alyson Ronnan Martins em VBA
Bom dia @Anderson Aragão Tenta colocar essa alteração: llinha = validadores.Cells(validadores.Rows.Count, 1).End(xlUp).Row + 1 -
Macro copia e cola se duas células iguais
pergunta respondeu ao piasserpa de Alyson Ronnan Martins em VBA
Bom dia @piasserpa Fiz uma simulação do código que estava precisando, olha se é dessa maneira. Public Sub cPiasserpa() Dim sh(1 To 2) As Worksheet Set sh(1) = Sheets("Gráfico_SDemand_22") Set sh(2) = Sheets("Targets") If sh(1).Range("D3").Value = sh(2).Range("A3").Value Then sh(1).Range("D6").Value = sh(1).Range("B27").Value End If End Sub Link: Planilha no Onedrive -
Bom dia. Um código ou um arquivo com o VBA. sem ver seu código não consigo te auxiliar a fazer.
-
Boa tarde @ivinnas Dá sim para fazer uma repetição de emails assim enviando o anexo cliente 1 para o cliente 1. Primeiro você tem um exemplo do seu código, com dados fictícios para tentar de ajudar mais diretamente?
-
Boa noite @Anderson Aragão Eu fiz um simulei seu código e vi que estava com erro justamente no, código abaixo, na teste que fiz não pode ter o divisor com o numero zero. txtcalculada.Text = ((cheia - vazia) / pesomedio) Para solucionar fiz uma "IIF" (mesma coisa que "SE") e troquei o "" para 1 quando não tiver nada: Sub calcular() Dim vazia As Double Dim cheia As Double Dim pesomedio As Double Dim maximocaixa As Double Dim preforma As Double With frmAnderson preforma = IIf(.txtpreforma.Text = "", 0, .txtpreforma.Text) vazia = IIf(.txtvazia.Text = "", 0, .txtvazia.Text) cheio = IIf(.txtcheia.Text = "", 0, .txtcheia.Text) pesomedio = IIf(.txtpesomedio.Text = "", 1, .txtpesomedio.Text) maximocaixa = IIf(.txtmaximocaixa.Text = "", 0, .txtmaximocaixa.Text) 'If .txtpreforma.Text <> "" Then preforma = .txtpreforma.Text 'If .txtvazia.Text <> "" Then vazia = .txtvazia.Text 'If .txtcheia.Text <> "" Then cheia = .txtcheia.Text 'If .txtpesomedio.Text <> "" Then pesomedio = .txtpesomedio.Text 'If .txtmaximocaixa.Text <> "" Then maximocaixa = .txtmaximocaixa.Text .txtesperado.Text = (preforma * maximocaixa) .txtcalculada.Text = ((cheia - vazia) / pesomedio) .txtdiferença.Text = (maximocaixa - calculada) End With End Sub Link Planilha com o exemplo
-
Erro de definição de objeto
pergunta respondeu ao Emanuelle Oliveira de Alyson Ronnan Martins em VBA
Bom dia. vi um erro na declaração das variáveis: Dim esse As Workbook, outro As Workbook, ws As Worksheet Só que dentro do seu código está usando o “este” -
Como Executar ALT+F4 Após Macro ser executada
pergunta respondeu ao Sandro BarbosaSantos de Alyson Ronnan Martins em VBA
Boa tarde, tenta desativar as notificações do access: DoCmd.SetWarnings False -
Boa noite @lufran2.2 Vamos com muita calma nessa hora kkkk. Você quer fazer tudo isso ou não esta conseguindo fazer nada? Você já tem um banco de dados e já esta funcionando a conexão? Já fez a construção desse html?
-
Pegar variável do JS e passar para o PHP
pergunta respondeu ao bruceSilva1010 de Alyson Ronnan Martins em PHP
Não sei se entendi, você tem o valor em um “select” e quer passar uma consulta desse select? Se sim imagino fazendo via form em método “post” ou poderia usar o AJAX para fazer um request em um endereço PHP. Vantagem do AJAX é que não precisar recarregar a janela. -
ADO consulta em Access - retorno em listview - evitar repetidos
pergunta respondeu ao vfrms de Alyson Ronnan Martins em VBA
Boa tarde @vfrms Creio que a melhor forma para não repetir é mudar o SQL para agrupar os resultados de acordo com os critérios que você precisa, definido as colunas que você realmente vai usar. Fonte: https://www.w3schools.com/sql/sql_groupby.asp Olha se consegue te ajudar? -
Me ajude a encontra uma formula para essa questão
pergunta respondeu ao Murilo Severo de Alyson Ronnan Martins em VBA
Olhando para a sua informação é esse calculo que precisa? https://www.tonettoexcel.com/2014/11/calcule-distancia-entre-coordenadas.html#:~:text=A fórmula é grau %2B minutos,diante com as demais coordenadas. -
Como Executar ALT+F4 Após Macro ser executada
pergunta respondeu ao Sandro BarbosaSantos de Alyson Ronnan Martins em VBA
Teria como mandar uma foto do que está aparecendo para tentar algo diferente. Não acho que seja apenas que você precisa para seu projeto. -
Como Executar ALT+F4 Após Macro ser executada
pergunta respondeu ao Sandro BarbosaSantos de Alyson Ronnan Martins em VBA
Tenta do DoCmd: DoCmd.Quit acQuitSaveAll -
Como Executar ALT+F4 Após Macro ser executada
pergunta respondeu ao Sandro BarbosaSantos de Alyson Ronnan Martins em VBA
Bom dia. Tentou o quit? appAccess.Quit