-
Posts
3.601 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Midori postou
-
Uma forma simples é declarar um vetor representando as letras do alfabeto parar receber a quantidade de cada letra na frase, char letras[26] = {0}; O incremento para cada posição de acordo com a letra, char L = tolower(frase[i]); if(isalpha(L)){ letras[L - 'a'] += 1; } E para mostrar a quantidade das vogais, printf( "%d vogal(is) a\n" "%d vogal(is) e\n", letras['a' - 'a'], letras['e' - 'a'], ...
-
@PataDGatinho Se já tem o array com os dados só tem que extrair as informações. Com um loop você pode pegar cada elemento e testar as idades.
-
Excel Inserir um caractere à esquerda de todos os caracteres da celula
Midori respondeu ao tópico de Neodenn em Microsoft Office e similares
Você pode concatenar os parênteses e o valor com o retorno da função, p.ex, Dim Valor As Double Valor = 1000000 MsgBox "(" & Valor & " - " & Extenso_Valor(Valor) & ")" -
Sua função pode ter um loop com o teste das posições de cada letra do crib com a mensagem. O index pode ser usado para o deslocamento da posição da letra na mensagem cifrada (i + index). O valor inteiro é a quantidade de retornos verdadeiros da função.
-
Excel Erro 91 VBA - Variável de objeto ou bloco with não definido
Midori respondeu ao tópico de Hbergon em Microsoft Office e similares
Reparei agora que nessa parte você está comparando ReadyState com uma string quando devia ser um inteiro de valor 4. Veja se corrigindo isso resolve, https://docs.microsoft.com/en-us/previous-versions/bb268229(v=vs.85) -
Excel Copiar linha de tabela com macro
Midori respondeu ao tópico de Nilton Cézar em Microsoft Office e similares
@Nilton Cézar Essas configurações continuam as mesmas na nova linha. -
Excel Copiar linha de tabela com macro
Midori respondeu ao tópico de Nilton Cézar em Microsoft Office e similares
@Nilton Cézar Para evitar a mensagem de erro quando a seleção está fora da tabela, Sub CopiaLinhaAtiva() With [TabelaRelatório].ListObject If Not Intersect(ActiveCell, .DataBodyRange) Is Nothing Then Dim Linha As Long Linha = ActiveCell.Row - .DataBodyRange.Row + 2 .ListRows.Add Linha .ListRows(Linha - 1).Range.Copy .ListRows(Linha).Range.PasteSpecial Application.CutCopyMode = False End If End With End Sub -
Excel código VBA EXCEL (excluir varias linhas baseadas se uma certa palavra existe)
Midori respondeu ao tópico de Gabriel Gallonetti em Microsoft Office e similares
@Gabriel Gallonetti Só com a imagem não dá para saber exatamente o formato dessa célula. É só "Filial" ou "Filial: TRANSPORTES LTDA-ES"? Isso faz diferença porque se for o segundo caso o código não deve procurar o texto exato, mas a posição dele na célula (isso pode ser feito com a função InStr). E a macro está procurando na coluna A e parece que deve ser na B. -
Excel código VBA EXCEL (excluir varias linhas baseadas se uma certa palavra existe)
Midori respondeu ao tópico de Gabriel Gallonetti em Microsoft Office e similares
@Gabriel Gallonetti Então na coluna da sua planilha não tem os texto que a macro procurar que são Filial e Financeira (e não Financéira com acento). -
Excel Copiar linha de tabela com macro
Midori respondeu ao tópico de Nilton Cézar em Microsoft Office e similares
@Nilton Cézar Veja se assim resolve, Sub CopiaLinhaAtiva() Dim Linha As Long With [TabelaRelatório].ListObject Linha = ActiveCell.Row - .DataBodyRange.Row + 2 .ListRows.Add Linha .ListRows(Linha - 1).Range.Copy .ListRows(Linha).Range.PasteSpecial End With Application.CutCopyMode = False End Sub -
Excel Erro 91 VBA - Variável de objeto ou bloco with não definido
Midori respondeu ao tópico de Hbergon em Microsoft Office e similares
@Hbergon Com esses valores aqui não deu nenhum erro. -
Excel código VBA EXCEL (excluir varias linhas baseadas se uma certa palavra existe)
Midori respondeu ao tópico de Gabriel Gallonetti em Microsoft Office e similares
@Gabriel Gallonetti Não foi como? Deu algum erro? Dê mais detalhes. O código vai excluir todas as linhas do range A1:A1000 com o texto Filial ou Financeira. -
Acho que seu programa poderia ter duas funções, uma para testar se a placa é válida e outra para verificar se é repetida. Assim em main vai ter o loop com a entrada e o teste com as funções, algo assim, #include <stdio.h> #include <string.h> #include <ctype.h> #define MAX 5 int valida(char *placa){ if(strlen(placa) != 7){ return 0; } for(int i = 0; placa[i] != 0; i += 1){ if(i <= 2){ if(!isalpha(placa[i])){ return 0; } }else{ if(!isdigit(placa[i])){ return 0; } } } return 1; } int repetido(char placas[MAX][8], char *placa, int n){ for(int i = 0; i < n; i += 1){ if(strcmp(placas[i], placa) == 0){ return 1; } } return 0; } int main(void){ char placa[MAX][8]; int i = 0; while(i < MAX){ printf("Placa %d = ", i); scanf("%7s", placa[i]); if(valida(placa[i]) == 0 || repetido(placa, placa[i], i)){ puts("PLACA INVALIDA OU REPETIDA"); continue; } i += 1; } return 0; }
-
Excel Erro 91 VBA - Variável de objeto ou bloco with não definido
Midori respondeu ao tópico de Hbergon em Microsoft Office e similares
@Hbergon Se anexar o arquivo vai ficar mais fácil ajudar, deve ser no conteúdo da coluna A onde sua macro busca os valores (Valor = Cells(Linha, "A")), talvez seja algum valor inválido e assim a página não carrega o endereço (se deixar Visible = True deve ver isso). Ou pode ser algum índice inválido, tente verificar o tamanho antes, p.ex: getElementsByClassName("character__job__level").Length Se possível anexe um arquivo com o conteúdo da coluna A e informe em que parte e com qual Valor acontece o erro. -
Excel Selecionar periodo com variaveis VBA
Midori respondeu ao tópico de Neodenn em Microsoft Office e similares
Pode ser como Integer e nesse caso não existe propriedade para essa variável como fez em Inicio.Value. Só faltou concatenar Inicio com o outro Range assim, Range("A" & Inicio & ":B" & Final).Copy Mas antes de tentar copiar você tem que verificar se as variáveis Inicio e Final receberam os valores das linhas. Se rodar o código sem testar essas variáveis vai dar erro já na primeira iteração que não vai ter atribuído esses valores. Uma forma de controlar isso pode ser assim onde o comando de cópia só acontece quando FIM é encontrado e se Inicio for diferente de zero, Sub Macro() Dim Counter As Integer Dim Inicio As Integer Dim Final As Integer For Counter = 1 To 200 Dim curCell As Range Set curCell = Worksheets("ORÇAMENTO").Cells(Counter, 1) If curCell.Value = "INICIO" Then Inicio = curCell.Row ElseIf curCell.Value = "FIM" Then Final = curCell.Row If Inicio <> 0 Then Range("A" & Inicio & ":B" & Final).Copy Worksheets("CONTRATO").Range("A16").PasteSpecial End If Inicio = 0 End If Next Counter End Sub -
Excel Selecionar periodo com variaveis VBA
Midori respondeu ao tópico de Neodenn em Microsoft Office e similares
@Neodenn Como declarou as variáveis Inico e Final? Quando tenta usar a propriedade Value sugere que seja um Range, mas na parte que tenta copiar é como se fosse um inteiro. No VBA o que está entre em aspas é uma string/texto. Então nessa parte você não está passando um range válido, mas um texto (incluindo "Inicio" e "Final"). Se quiser passar o valor de uma variável terá que concatenar com o operador &. -
Excel código VBA EXCEL (excluir varias linhas baseadas se uma certa palavra existe)
Midori respondeu ao tópico de Gabriel Gallonetti em Microsoft Office e similares
O correto seria usar cell.Row para pegar a linha de cell e não Rows (com s) que retorna um objeto range. Para listar as linhas e procurar as palavras pode ser só com um loop. Veja se assim resolve, Sub ExcluiLinha() Dim Area As Range Dim Linha As Long Set Area = [A1:A1000] For Linha = Area.Rows.Count To 1 Step -1 If Area(Linha) = "Filial" _ Or Area(Linha) = "Financeira" Then Area(Linha).EntireRow.Delete End If Next Linha End Sub -
Excel Verificar quais células devem ser somadas e preencher celula "Total" com a soma
Midori respondeu ao tópico de Neodenn em Microsoft Office e similares
@Neodenn Veja se assim resolve, a macro vai procurar o texto AQUI e aplicar o SOMASE na célula, Sub TotalOrcamento() Dim Celula As Range Set Celula = [E:F].Find( _ What:="AQUI", LookAt:=xlWhole, LookIn:=xlValues) If Not Celula Is Nothing Then Celula = WorksheetFunction.SumIf( _ [D:D], "VALOR TOTAL DO ITEM:", [F:F]) End If End Sub -
Excel Verificar quais células devem ser somadas e preencher celula "Total" com a soma
Midori respondeu ao tópico de Neodenn em Microsoft Office e similares
@Neodenn Essa soma pode ser feita com a fórmula SOMASE. -
Excel Localizar valor com cruzamento de intervalo entre linhas e colunas
Midori respondeu ao tópico de Natalia Benassi em Microsoft Office e similares
Testei com a mesma fórmula no seu último anexo e não retornou nenhuma informação. Veja se na sua planilha essas células estão realmente em branco (procv retorna #N/D para valor em branco/vazio), ou se esses pedidos não existem mesmo na planilha Tabela. -
Excel Localizar valor com cruzamento de intervalo entre linhas e colunas
Midori respondeu ao tópico de Natalia Benassi em Microsoft Office e similares
@Natalia Benassi Pode mostrar um exemplo disso na sua planilha? De como está sem essa correção e como deve ficar. -
Excel For no VBA e soma de valores
Midori respondeu ao tópico de Neodenn em Microsoft Office e similares
@Neodenn Veja se assim resolve, Sub SomaResultado() Dim Celula As Range Dim Resultado As Range Set Celula = [F100] While Celula.Row > 1 If UCase(Celula) = "RESULTADO" Then Set Resultado = Celula ElseIf UCase(Celula) = "PARE" Then If Not Resultado Is Nothing Then Resultado = WorksheetFunction _ .Sum(Range(Celula, Resultado)) End If Set Resultado = Nothing End If Set Celula = Celula.Offset(-1) Wend End Sub -
Excel For no VBA e soma de valores
Midori respondeu ao tópico de Neodenn em Microsoft Office e similares
@Neodenn O código pode testar apenas se o texto é Pare ou Resultado para pegar o intervalo que será somado. Veja se assim resolve. Coloquei para começar da linha 20 e mostrar um Msgbox com o total para testar o resultado. Se for isso mesmo é só mudar inicial da linha. Sub Macro() Dim Linha As Long Dim Total As Currency Dim Somar As Boolean For Linha = 20 To 1 Step -1 Dim Valor As Variant Valor = Cells(Linha, [F:F].Column) If UCase(Valor) = "RESULTADO" Then Somar = True ElseIf UCase(Valor) = "PARE" Then Somar = False MsgBox Total Total = 0 End If If Somar = True And IsNumeric(Valor) Then Total = Total + Valor End If Next Linha End Sub Outra forma que talvez funcione seria apenas zerar a variável da soma quando o texto Pare for encontrado. Aí não teria necessidade da variável Boolean. -
Excel Localizar valor com cruzamento de intervalo entre linhas e colunas
Midori respondeu ao tópico de Natalia Benassi em Microsoft Office e similares
@Natalia Benassi Salve a planilha com a extensão xlsm, feche e habilite as macros quando abrir (o Excel vai dar a opção de habilitar). -
Excel Localizar valor com cruzamento de intervalo entre linhas e colunas
Midori respondeu ao tópico de Natalia Benassi em Microsoft Office e similares
@Natalia Benassi Agora é só executar a Sub TabelaPedidos. Pode ser digitando F5 ou no botão Executar do editor.
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