
Paulo H Grando
Membros-
Total de itens
55 -
Registro em
-
Última visita
Tudo que Paulo H Grando postou
-
Tony, Acho que estamos falando da mesma coisa, mas nos expressando de forma diferente. Tem como me mandar essa planilha?
-
Tony, O primeiro argumento da função SUBTOTAL especifica qual operação será realizada. 9 é para soma, mas existem outras possibilidades. Especificamente para contar valores é 3. Portanto a fórmula fica assim: =SUBTOTAL(3;$A$2:$A$65536)
-
Como colocar uma ampulheta no momento da execução do macro?
pergunta respondeu ao Hahu de Paulo H Grando em VBA
Para que o usuário não acompanhe a mudança você precisa desligar a atualização de tela através do seguinte comando: Application.ScreenUpdate = False Para mudar o cursor para ampulheta é só alterar a propriedade Cursor: Application.Cursor = xlWait -
Você pode usar a função SUBTOTAL. Para somar um deteminado intervalo filtrado use o parâmetro 9. Há parâmetros para outras operações também. Supondo que a soma seja feita na coluna A, ficaria da seguinte forma: =SUBTOTAL(9;$A$2:$A$65536)
-
Na versão 2003, 65536 é o número máximo de linhas. Para mais linhas você deve trabalhar com Excel 2007 (cerca de 1 milhão de linhas).
-
converter números armazenados como texto em números com vba
pergunta respondeu ao Dioniton de Paulo H Grando em Microsoft Office
Como você está realizando a importação? Se deixar a opção Geral marcada para a coluna que deseja, no passo 3 do Assistente de Importação, números armazenados como texto são convertidos em números. -
Como faço pra colocar um valor na celula e voltar ao codigo
pergunta respondeu ao helioceara de Paulo H Grando em VBA
Como você está disparando essa função? Através de DoubleClick? Se for isso, o problema é que a célula continua em edição após o início do evento, portanto não é possível acessar a planilha. Selecione outra célula após o início do evento: Range("D6").Select. -
Como faço pra colocar um valor na celula e voltar ao codigo
pergunta respondeu ao helioceara de Paulo H Grando em VBA
Para colocar valor em células você precisa acessar a propriedade Value. Simplificando seu código, pelo que entendi a célula que aciona a função está na mesma planilha das células onde serão postados os resultados, portanto fica assim: Range("D6").Value = 10 Range("D5").Value = 30 -
Preencher célula com uma cor por meio de um TXT
pergunta respondeu ao diegorj22 de Paulo H Grando em VBA
Você pode fazer isso inserindo uma formatação condicional para a linha. Em cada céula dessa linha use a condição: A fórmula é: =$H2="DESISTIU" (supondo que o campo situação esteja na coluna H) Toda vez que inserir um novo funcionário tem que parametrizar a formatação da nova linha através do código, copiando a formatação da primeira linha de dados da sua planilha. Execute um Copy na linha e depois cole com Paste Special. -
Estou supondo que os números que devem ser avaliados estão na coluna A e os resultados serão mostrados na coluna E. Você pode fazer da seguinte forma: For Each cell In Range("A1:A500") If (cell.Value >= 11) AND (cell.Value <= 25) Then Range("E" & cell.Row).Value = cell.Value End If Next cell Dependendo do que especificamente você queira fazer (qual a aplicação real dessa seleção de números), talvez seja mais fácil utilizar fórmulas ao invés de VBA. VBA só é indicado para automatizar tarefas ou para procedimentos que não são suportados por funções do Excel.
-
Visualização de impressão sem acesso às planilhas
pergunta respondeu ao Erika Tímpano de Paulo H Grando em VBA
Você pode usar o seguinte código, que chama diretamente o preview de impressão: Sheets(1).PrintPreview Se precisar definir a área de impressão: Sheets(1).PageSetup.PrintArea = "$A$1:$F$100" Para limpar a área de impressão basta passar vazio para a propriedade: Sheets(1).PageSetup.PrintArea = "" -
Como gerar um link dde a partir de uma variavel
pergunta respondeu ao cerossignolo de Paulo H Grando em VBA
Não consegui entender. Pode postar um exemplo com dados? -
Seria bom você postar o código para entendermos onde está o erro. Provavelmente é algum parâmetro do PasteSpecial.
-
Para "varrer" o intervalo você pode usar For Each...Next. Mas como você deseja que sejam exibidos os números? Quanto ao código, se está escrito do jeito que você postou, o último End If está sem o f. Está apenas End I.
-
Érika, Não entendi a sua dúvida. Qual o motivo que impede o salvamento, já que você parece ter identificado?
-
Visualização de impressão sem acesso às planilhas
pergunta respondeu ao Erika Tímpano de Paulo H Grando em VBA
Você quer fazer isso em que momento? Quando abrir a planilha? Essa área é uma seleção de impressão? Passe mais detalhes, por favor. -
Achei essa explicação no help do VBA. Espero que ajude: Exemplo da instrução On Error Este exemplo primeiramente usa a instrução On Error GoTo para especificar o local de uma rotina de tratamento de erro dentro de um procedimento. No exemplo, uma tentativa de excluir um arquivo aberto gera o erro número 55. O erro é tratado na rotina de tratamento de erro e, em seguida, o controle é retornado à instrução que provocou o erro. A instrução On Error GoTo 0 desativa a interceptação de erro. Em seguida, a instrução On Error Resume Next é usada para adiar a interceptação de erro de modo que o contexto do erro gerado pela próxima instrução possa ser conhecido com certeza. Observe que Err.Clear é usada para limpar as propriedades do objeto Err depois que o erro é tratado. Sub OnErrorStatementDemo() On Error GoTo ErrorHandler ' Ative a rotina de tratamento de erro. Open "ARQTESTE" For Output As #1 ' Abra o arquivo para saída. Kill "ARQTESTE" ' Tente excluir arquivo ' aberto. On Error Goto 0 ' Desative a interceptação de erro. On Error Resume Next ' Adie a interceptação de erro. ObjectRef = GetObject("MyWord.Basic") ' Tente iniciar um objeto ' inexistente e, em seguida, teste 'Verifique possíveis erros de automação. If Err.Number = 440 Or Err.Number = 432 Then ' Informe ao usuário o que ocorreu. Em seguida, limpe o objeto Err. Msg = "Houve um erro ao tentar abrir o Objeto de automação!" MsgBox Msg, , "Teste de erro adiado" Err.Clear ' Limpe os campos do objeto Err End If Exit Sub ' Saia para evitar manipulador. ErrorHandler: ' Rotina de tratamento de erro. Select Case Err.Number ' Avalie o número do erro. Case 55 ' Erro "O arquivo já está aberto". Close #1 ' Feche o arquivo aberto. Case Else ' Trate outras situações aqui... End Select Resume ' Continue a execução na mesma linha ' que provocou o erro. End Sub
-
The Lau, Andei pensando na macro que você está utilizando e me ocorreu que talvez seja mais fácil usar uma fórmula para fazer a soma das células. Qual o motivo que leva a fonte da célula a ser pintada de vermelho? Você está usando formatação condicional? Se sim, qual a condição? Muitas vezes é mais fácil e prático usar uma fórmula.
-
Para tratar a questão dos valores financeiros basta mudar o tipo da variável Soma de Integer para Float. Sobre um intervalo adicional, você pode copiar o bloco For Each...Next para antes da linha que passa o valor da Soma para a celula A10 e mudar o Range no início do loop.
-
Você pode utilizar um loop For Each para "varrer" a coluna e realizar a soma quando encontrar uma célula com a cor vermelha. É praticamente igual ao que você encontrou em outro fórum, mas com os seus parâmetros. Sub SomaCor() Dim Soma As Integer Soma = 0 For Each cell In Range("A12:A54") If cell.Font.ColorIndex = 3 Then Soma = Soma + cell.Value End If Next cell Range("A10").Value = Soma End Sub Esse procedimento soma especificamente a cor vermelha e apenas no intervalo especificado. Se a cor ou o intervalo mudam, o ideal é ter um pequeno formulário para entrada do intervalo e da cor desejada.
-
Acredito que uma solução mais elegante seja utilizar PROCV com ÉERROS. Dessa forma não fica limitado ao número de células. SE(ÉERROS(PROCV(A1;$C$1:$C$4;1;FALSO));0;3)
-
Excel - formula para exemplo de tabela.
pergunta respondeu ao Flavio1970 de Paulo H Grando em Microsoft Office
Para resolver isso precisaria ver a planilha. Acredito que seja possível fazer uma combinação entre as funções MAIOR e PROCV. MAIOR indicaria o valor total de pontos de cada posição no ranking. E PROCV procuraria e exibiria os dados da pessoa específica. -
Falha ao tentar fechar arquivo do Excel através do VBA
pergunta respondeu ao jeffbart de Paulo H Grando em Microsoft Office
Sem ver as outras procedures q são chamadas acredito q o problema é na última linha. Ao invés de mandar fechar a planilha ativa, mande fechar pelo nome (Workbook(Nome).Close). -
Como fazer média condicional envolvendo 3 células?
pergunta respondeu ao xiloba de Paulo H Grando em Microsoft Office
Use a função SE da seguinte forma: =SE(G2<B2;SE(G2<E2;F2;(B2+G2)/2);SE(G2<E2;(G2+E2)/2;?) Usei a ordem de colunas abaixo. Coloquei um ponto de interrogação no final da fórmula pois acredito que faltou prever uma condição: o que acontece se a nota da recuperação for maior que prova 1 e maior que a soma do simulado com prova2? A B C D E F G H aluno - prova1 - simulado - prova 2 - soma do simulado com prova2 - média bimestral- recuperação- média final. 1 caso: se a nota da recuperação for menor que prova 1 e soma do simulado com prova2 , então media final = media bimestral 2 caso: se nota da recuperação for menor que prova 1, mas for maior que soma do simulado com prova2, então media final= prova 1 + recuperaço. 3 caso: se nota da recuperação for maior que prova 1, mas for menor que soma do simulado com prova2, então media final=recuperação + soma do simulado com prova2. -
como fazer média entre os dois maiores de trÊs possiveis?
pergunta respondeu ao xiloba de Paulo H Grando em Microsoft Office
Há um jeito mais fácil. Você pode usar uma fórmula para fazer essa média ao invés de construir uma função no VBA. Faz assim: MÉDIA(MAIOR($B$1:$D$1;1);MAIOR($B$1:$D$1;2))