Ir ao conteúdo
  • Cadastre-se

Edson Luiz Branco

Membro Pleno
  • Posts

    844
  • Cadastrado em

  • Última visita

Tudo que Edson Luiz Branco postou

  1. Bom dia, @luizaclopes Considerando por enquanto somente o problema da coluna F (first things first) : O problema parece estar acontecendo quando a data inicial (col B) cai num final de semana ou feriado e entre essa data e a final (col D) o número de dias cheios trabalhados é zero, o que retornaria na avaliação final da fórmula um valor negativo para a quantidade de minutos, por isso o erro ocorre. Não entendi o porquê dos registros com ID 92, 93 e 181, 182, 183 e 184 pela sua fórmula terem retornado estes valores: Pelo meu entendimento do problema deveriam retornar: Ou então não compreendi a mecânica do problema. Se meu entendimento está ok, veja no anexo as alterações que propus para suas fórmulas e teste nas situações reais se resolve o problema. Cálculo de horas.xls
  2. Bom dia, @Jmbs Sua imagem não mostrou o restante da estrutura dos objetos que estão na pasta de trabalho, então pergunto: há mais algum objeto que tenha aquele mesmo ícone verde com X? Esse ícone é o do Workbook e não de Worksheets, então se houver mais de um ou o nome alterou sozinho de EstaPastaDeTrabalho para outro qualquer provavelmente seu arquivo está ficando corrompido. Uma maneira de restaurar a funcionalidade que às vezes funciona é salvar como binário (xlsb), fechar e reabrir e depois salvar de volta como xlsm. Infelizmente às vezes só mesmo transferindo o conteúdo para um arquivo virgem pra recuperar a funcionalidade. A ferramenta de reparo do próprio Excel geralmente não repara nada. Se conseguir anexar o arquivo zipado aqui poderemos analisar melhor.
  3. Isso ocorre porque quando a ActiveCell não está numa tabela ActiveCell.ListObject retornará não uma tabela mas sim o valor Nothing. E Nothing logicamente não possui a propriedade ListColumns(1) e derivados, por isso o erro ocorre. Certifique-se antes de que ActiveCell está mesmo numa das tabelas e somente então se, além disso, também está na coluna 1 de uma delas. Há várias formas de se fazer isso: você pode primeiro testar se ActiveCell.ListObject retorna de fato uma tabela e não Nothing ou alternativamente se a tabela é o objeto ativo. Nesse caso ficaria: Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet.DTPicker1 .Height = 20 .Width = 70 .Visible = False If Not ActiveCell.ListObject Is Nothing Then 'Alternativamente: If ListObjects(1).Active Or ListObjects(2).Active Or ListObjects(3).Active Then If Not Intersect(Target, ActiveCell.ListObject.ListColumns(1).DataBodyRange) Is Nothing Then .Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address .Visible = True End If End If End With End Sub Outra maneira seria definir um range como sendo a união de todos as colunas de data das 3 tabelas e checar a intersecção de Target com esse intervalo: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rgColsDatas As Range Set rgColsDatas = Union(Me.ListObjects(1).ListColumns(1).DataBodyRange, _ Me.ListObjects(2).ListColumns(1).DataBodyRange, _ Me.ListObjects(3).ListColumns(1).DataBodyRange) With ActiveSheet.DTPicker1 .Height = 20 .Width = 70 .Visible = False If Not Intersect(Target, rgColsDatas) Is Nothing Then .Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address .Visible = True End If End With End Sub
  4. Bem vindo, @Rodrigo Queirós Mas o seu Office é o 365? Agora essa função já está disponível a todos do Microsoft 365.
  5. Bem vindo ao nosso fórum, @Reinaldo91 Algumas considerações/questionamentos: Antes de tudo, certifique-se que a planilha incorporada estava de fato "incorporada" no documento (embedded) e não apenas vinculada (linked). Nesse último caso, o arquivo Excel tem de estar presente também, externamente, e no mesmo local original. você já tentou abrir o arquivo em outro micro? O arquivo está sendo aberto em "modo de compatibilidade"? Isso pode ser visto na barra de títulos do Word ao lado do nome do arquivo, onde em caso afirmativo Modo de Compatibilidade apareceria entre colchetes ao lado do nome do arquivo. Se sim, converta o arquivo ao novo formato (faça uma cópia de segurança antes): Em Arquivo > Informações > botão "Converter". Às vezes um procedimento simples recupera a funcionalidade do Objeto OLE incorporado (atualiza o Identificador de Classe = CLSID para a versão em uso): copie o objeto para a área de transferência (CTRL + C), delete-o do documento e volte a colar no mesmo local de antes (CTRL + V). Se nada disso resolver, tente anexar seu arquivo aqui mesmo no fórum para que possamos analisar. Antes disso descaracterize ou remova informações confidenciais do modelo.
  6. Bem vindo ao fórum, @Rodrigo Siqueira Poli Alterei o código pra deixar mais genérico salvando de X em X páginas, para isso mudando apenas o valor da constante BlocoPágs no código abaixo: Sub ExportaPdfBlocoPágs() Const Caminho = "C:\Users\SeuNomeUsuário\Desktop\PDFs\" Const BlocoPágs = 7 'Salva PDF de X em X páginas Dim i As Long, NúmPágs As Long NúmPágs = ThisDocument.Range.Information(wdNumberOfPagesInDocument) For i = 1 To NúmPágs Step BlocoPágs ThisDocument.ExportAsFixedFormat OutputFileName:=Caminho & "Arquivo " & IIf(BlocoPágs = 1, i, (i \ BlocoPágs + 1)), _ ExportFormat:=wdExportFormatPDF, _ Range:=wdExportFromTo, From:=i, To:=i + BlocoPágs - 1 Next i End Sub
  7. Acho que você tava com pressa (ou com fome) quando digitou a fórmula, hehehe. Veja que você comeu vários elementos: depois de SOMARPRODUTO tem um SE( antes de CONT.NÚM e antes da constante matricial tem um ponto-e-vírgula (entre o número 100 e o "{" ). Melhor seria ter copiado e colado a fórmula na barra de fórmulas. Segue o anexo original com a fórmula na coluna K. Projeto de Provisionamento de Perdas (alterado=EdsonBR).xlsx
  8. @Gndm28, boa tarde. Anexe seu arquivo aqui, pelo menos o trecho citado para analisarmos.
  9. Boa tarde, @Smeagle_17 Estando em uma Tabela, você pode usar o Controle de Conteúdo Seção de Repetição para essa finalidade: Crie a primeira linha da tabela e insira o Controle de Conteúdo Caixa de Combinação com as opções desejadas Selecione a linha inteira da tabela e defina-a como uma Seção de Repetição e está pronto. Para usar, ainda sem ter preenchido as outras células da linha, clique com o cursor em qualquer lugar em uma das células e escolha o sinal de adição azul ao final da linha, parte inferior que uma nova linha repetirá o controle. Exemplo anexo. EdsonBR - Lista Suspensa CC Combo com Seção de Repetição.docx
  10. O amigo @Patropi já respondeu, certeiro e rápido como sempre, mas como eu já tinha elaborado também uma fórmula, pra não perder trabalho segue aí uma segunda alternativa. Em K3 depois arraste: =SOMARPRODUTO(SE(CONT.NÚM(C3:J3)>1;100;{0\25\50\75\100\100\100\100})%*C3:J3) _________ P.S.: Percebi agora que meu entendimento do problema foi diferente da do Patropi: entendi que, caso haja mais de um débito por linha, os valores seriam sempre 100% (100%, 100%, 100%, 100%, 100%, 100%, 100%, 100%) e não considerados como 0%, 25%, 50%, 75%, 100%, 100%,100%,100% respectivamente.
  11. Bem vindo, @Diogomf Já considerando que poderia haver página avulsa no final (número ímpar de págs), tente algo assim: Sub SalvaParesFolhasEmPDFs() Const Caminho = "C:\Users\SeuNomeUsuário\Desktop\PDFs\" Dim i As Long, NúmPágs As Long NúmPágs = ThisDocument.Range.Information(wdNumberOfPagesInDocument) For i = 1 To NúmPágs Step 2 ThisDocument.ExportAsFixedFormat OutputFileName:=Caminho & "Arquivo " & (i \ 2 + 1), _ ExportFormat:=wdExportFormatPDF, _ Range:=wdExportFromTo, From:=i, To:=i - (i <> NúmPágs) Next i End Sub
  12. Bom dia, @João Carlos Júnior Primeiro a fórmula tem de encontrar o grupo de colunas que vai usar e só então buscar o mínimo/máximo e a data correspondente, seria isso? Veja se é o que está no anexo. CdoH-DúvidaJoãoCarlosJrRefTópicoÍndice-CorrespAvançado(EdsonBR).xlsx
  13. Bem vindo ao fórum, @Diego1559 Provavelmente seu tópico ficou sem respostas até o momento por ter faltado anexar um modelo em Excel junto com sua dúvida. Alterei seu código eliminando algumas partes e acrescentando outras. Teste em seu modelo e nos dê retorno, ok?: Sub Carregar_Pares_Imagens() Dim Pict As Variant, ImgFileFormat As String, rgMescladas As Range, i As Long ImgFileFormat = "Image Files JPEG (*.jpeg),*.jpeg,Image Files JPG (*.jpg),*.jpg, Image Files PNG (*.png),*.jpg, Image Files GIF (*.gif),*.gif, Image Files BMP (*.bmp),*.bmp" Pict = Application.GetOpenFilename(ImgFileFormat, False, False, False, True) If IsArray(Pict) Then If UBound(Pict) > 6 Then MsgBox "Selecionar apenas 6 imagens" Exit Sub End If For i = 1 To UBound(Pict) Set rgMescladas = ActiveSheet.Cells(RowIndex:=Array(8, 29, 49)((i - 1) \ 2), _ ColumnIndex:=Array("A", "E")((i - 1) Mod 2)) If rgMescladas.MergeCells Then Set rgMescladas = rgMescladas.MergeArea rgMescladas.Worksheet.Shapes.AddPicture Filename:=Pict(i), _ LinkToFile:=msoFalse, _ SaveWithDocument:=msoTrue, _ Left:=rgMescladas.Left, _ Top:=rgMescladas.Top, _ Width:=rgMescladas.Width, _ Height:=rgMescladas.Height Next i End If End Sub
  14. Boa tarde! Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If (Target.Address = "$B$44" Or Target.Address = "$B$49") And Target.Value = 0 Then Target.EntireRow.Resize(4).Offset(1).Hidden = True End If End Sub
  15. Olá, @Max Sacramento A coluna "MISTER" não seria necessária pra essa finalidade. você pode basear a busca passando diretamente para a função CORRESP a concatenação da coluna "MASTER" com a do nome das empresas "MASTRE". Na célula C1 insira a fórmula matricial (CTRL SHIFT ENTER) abaixo depois arraste: =ÍNDICE('2'!$A$4:$D$27;CORRESP(A4&D4;'2'!$A$4:$A$27&'2'!$D$4:$D$27;0);3)
  16. Sem problemas, @GENECIOFICIAL Para efeito apenas de teste, você também pode fazê-lo um ou mais dias antes ou depois da data atual, acrescentando ou subtraindo um número de dias (inteiro) ao argumento da função Weekday. Por exemplo, para anteontem: Weekday(Date - 2) Para amanhã: Weekday(Date + 1)
  17. Melhor seria anexar um arquivo. Mas tente substituir... ao invés de: ">='Banco de Dados'!C4" tente: ">=" & 'Banco de Dados'!C4 da mesma forma, ao invés de: ""<='Banco de Dados'!D4 substitua por: "<=" & 'Banco de Dados'!D4
  18. Boa tarde, @GENECIOFICIAL Percebi que você agradeceu com o Like (obrigado por isso tb!) mas não encerrou o tópico e continua dando andamento à sua dúvida no outro fórum. Imagino então que sua dúvida não esteja sanada ainda. O que faltou? Se alguma das respostas está satisfatória e atendeu plenamente sua demanda, por gentileza encerre os tópicos neste e em outros fóruns, pois evita que os membros se debrucem desnecessariamente sobre problemas já resolvidos, ok? Obrigado!
  19. fórmula em d2 depois arraste: =se(cont.se(a$2:a2;a2)>1;"recorrente";"novo")
  20. Bom dia, @AfonsoMira O problema persiste mesmo após reiniciar o Windows? Tente forçar o Windows a recriar os ícones associados aos arquivos deletando a base de cache de ícones. Para isso você precisará antes derrubar da memória a tarefa do Explorer. O melhor é fazê-lo abrindo um prompt no modo administrativo (WIN + R, digite CMD e finalize com CTRL + SHIFT + ENTER) e digitando os comandos abaixo: Derrubar o Explorer: taskkill /im Explorer.exe /f Deletar o cache de ícones: del %localappdata%\IconCache.db /A Reiniciar o Explorer: start Explorer.exe
  21. Boa tarde, @Francisco Moala Da forma como você deseja só é possível através do VBA. Supondo que a célula em questão seja a A1, clique com o botão direito na guia da planilha, escolha Exibir Código e cole o seguinte código: Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Me.[A1], Target) Is Nothing Then Application.EnableEvents = False Me.[A1].Value = UCase(Me.[A1].Value) Application.EnableEvents = True End If End Sub
  22. Private Sub Workbook_Open() If Weekday(Date) Like "[357]" Then Worksheets("Planilha1").Range("B3:F17").Value = "-x-" End Sub
  23. Boa tarde, @filipeborges Tente o seguinte: Copie seus dados e cole no Bloco de Notas; Remova as aspas duplas logo antes da primeira palavra da primeira linha e da última palavra da última linha; Copie e cole de volta no Excel. Se não der certo, anexe seu arquivo aqui para verificarmos como estão os dados.
  24. É bem provável que seja problema de atualização de driver de vídeo que deve ter ocorrido após essas "mexidas". Para testar reverta ao driver anterior ou entre no Windows no modo de segurança com o mínimo de drivers carregado. Dentro do próprio Office, o modo mais simples de contornar o problema seria desabilitando a aceleração gráfica de hardware: no Excel está em Arquivo>Avançado> seção "Exibir" > marque a caixa "Desabilitar aceleração gráfica de hardware". Porém, como você não consegue ver os menus, tente via teclas de atalho na seguinte sequência dentro do Excel: ALT A, T, A, tecla TAB, W, tecla ENTER. Veja também se esse tópico não te dá uma luz:

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!