Ir para conteúdo

osvaldomp

  • Postagens

    1.480
  • Desde

  • Última visita

  • Days Won

    57

osvaldomp venceu no dia Agosto 23

Seu conteúdo teve mais votos "Gostei" neste dia!

Mídias Sociais

Sobre osvaldomp

  • Título
    Microsoft Office

Perfil

  • Estado
    São Paulo
  • Sexo
    masculino
  • Escolaridade
    Superior completo
  • Área Profissional
    Engenharia
  • Nível Profissional
    Profissional curso superior

Últimos Visitantes

11.839 visualizações
  1. osvaldomp

    RESPONDIDO Movimentar a célula ativa para a direira

    Olá, Apolo. Peço desculpas, pois o erro foi meu. no lugar desta linha ~~~> Application.MoveAfterReturnDirection = xlUp coloque esta ~~~> Application.MoveAfterReturnDirection = xlToRight E sim, ao desativar o arquivo que receber os códigos que passei, será restabelecida a setagem anterior do Excel, assim, se a célula ativa após Enter mudava para baixo, então retornará. Se era para a esquerda, retornará para a esquerda, ...
  2. osvaldomp

    RESPONDIDO Movimentar a célula ativa para a direira

    Experimente o código abaixo no lugar e veja se funciona. Private Sub Workbook_SheetActivate(ByVal Sh As Object) Application.MoveAfterReturn = True Application.MoveAfterReturnDirection = xlToRight End Sub No entanto esse recurso irá funcionar em todas as instâncias do Excel que forem abertas daí em diante. Caso se queira que esse recurso funcione somente em determinados arquivos então use os códigos abaixo no lugar do anterior nos arquivos em que é desejado que o recurso funcione. Private Sub Workbook_WindowActivate(ByVal Wn As Excel.Window) bMove = Application.MoveAfterReturn lMoveDirection = Application.MoveAfterReturnDirection Application.MoveAfterReturn = True Application.MoveAfterReturnDirection = xlToRight <~~~Editado, antes era xlUp End Sub Private Sub Workbook_WindowDeactivate(ByVal Wn As Excel.Window) Application.MoveAfterReturn = bMove Application.MoveAfterReturnDirection = lMoveDirection End Sub E no topo de um módulo comum coloque as declarações abaixo. Public IMoveDirection As Long Public bMove As Boolean Patropi, provavelmente no seu Excel já estava marcada a opção "Depois de pressionar Enter, mover a seleção", por isso funcionou.😉
  3. osvaldomp

    Cálculo de Pedágio em Macro

    Acrescente a segunda linha ao código, conforme abaixo. Cells(Contador, 5) = IE.Document.getElementById("toll-value").innerText Cells(Contador, 6) = IE.Document.getElementById("dist-value").innerText <~~~acrescente esta linha
  4. osvaldomp

    EXCEL - Capturar o último valor preenchido da coluna

    Olá, Paulo. Cole a fórmula matricial abaixo em H5, arraste para I5 e em seguida arraste ambas para baixo. =ÍNDICE(CCAL!G$5:G$16;CORRESP(2;SE(CCAL!$C$5:$C$16=$C5;SE(CCAL!$F$5:$F$16=$G5;1)))) obs. eu coloquei na fórmula somente o intervalo em uso na planilha CCAL que vai da linha 5 até a linha 16, se o resultado for o esperado aí aumente o intervalo na fórmula se necessário; vale lembrar que por ser fórmula matricial não é conveniente fazer referência à coluna inteira, tal como as fórmulas que você já tem na planilha, pois com o crescimento da tabela a tendência é aumentar a demora já perceptível no recálculo da planilha. O ideal seria você criar Intervalos Dinâmicos Nomeados e utilizar os nomes nas fórmulas.
  5. osvaldomp

    VBA de exibir/ocultar linhas não funciona.

    Olá, César. Na sua planilha há 3 botões e nenhum deles está associado à macro de interesse, então eu suponho que você quer que a macro rode automaticamente ao ser alterado o conteúdo de F37, é isso? Se sim, cole o código abaixo no módulo da planilha Capa. Se você quiser cole-o no lugar do código que lá existe Sub Tipo_Apolice(), pois este não será utilizado. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells(1).Address <> "$F$37" Then Exit Sub Rows("38:42").EntireRow.Hidden = False If Target.Cells(1).Value = "" Then Rows("38:42").EntireRow.Hidden = True ElseIf Target.Cells(1).Value = "Apólice Anual" Then Rows("38:40").EntireRow.Hidden = True End If End Sub obs. o código que postei antes, que foi baseado no seu código do primeiro post, funciona de forma diferente desse acima, pois para rodá-lo é necessária uma intervenção do usuário, por exemplo clicando em um botão, e ele deve ser instalado em um módulo comum e não no módulo da planilha como você o colocou. Esse acima sim, deve ser colocado no módulo da planilha e irá rodar após alteração de conteúdo em F37.
  6. osvaldomp

    EXCEL - Capturar o último valor preenchido da coluna

    Olá, Paulo. Sugiro que você disponibilize aqui no fórum uma amostra do seu arquivo Excel, com alguns dados (4 a 5 linhas) e coloque na própria planilha o resultado esperado e a explicação de como chegou ao resultado. obs. imagens não servem
  7. osvaldomp

    VBA de exibir/ocultar linhas não funciona.

    Experimente: Sub Tipo_Apolice() Rows("38:42").EntireRow.Hidden = False If Range("F37").Value = "" Then Rows("38:42").EntireRow.Hidden = True ElseIf Range("F37").Value = "Apólice Anual" Then Rows("38:40").EntireRow.Hidden = True End If End Sub Se não funcionar a contento disponibilize uma amostra do seu arquivo Excel com esse código acima instalado.
  8. osvaldomp

    Macro - Várias buscas dentro de uma célula

    1° ...a planilha tem em média 2.000 à 10.000 linhas, gostaria que rodasse em todas as linhas... Considerei que as células a serem processadas estão todas na coluna A. 2° a outra é que tem Ex."art. 209 " com o ponto junto como faço essa alteração?. Ok, alterei o código. Sub ExtraiArtigosV2() Dim wrdTexto() As String, i As Long, k As Long, c As Range Application.ScreenUpdating = False For Each c In Range("A1", Cells(Rows.Count, 1).End(3)) wrdTexto() = Split(Replace(Replace(c.Value, ",", ""), "º", "º ")) For i = LBound(wrdTexto) To UBound(wrdTexto) - 1 If InStr(1, wrdTexto(i), "art") > 0 And IsNumeric(Left(wrdTexto(i + 1), 1)) Then Cells(c.Row, k + 2) = wrdTexto(i) & " " & wrdTexto(i + 1): k = k + 1 ElseIf InStr(1, wrdTexto(i), "art") > 0 And IsNumeric(Right(wrdTexto(i), 1)) Then Cells(c.Row, k + 2) = wrdTexto(i): k = k + 1 End If Next i k = 0 Next c Application.ScreenUpdating = True End Sub
  9. osvaldomp

    Macro - Várias buscas dentro de uma célula

    Experimente: Sub ExtraiArtigos() Dim wrdTexto() As String, i As Long, strg As String, k As Long Dim strTexto As String strTexto = Replace(Replace([A1], ",", " "), "º", "º ") wrdTexto() = Split(strTexto) For i = LBound(wrdTexto) To UBound(wrdTexto) - 1 If InStr(1, wrdTexto(i), "art") > 0 And _ IsNumeric(Left(wrdTexto(i + 1), 1)) Then Cells(1, k + 2) = wrdTexto(i) & " " & wrdTexto(i + 1): k = k + 1 End If Next i End Sub resultado em B1:F1 ~~~> | art. 20 | art. 3º | artigo. 25 | art. 6º | artigo 15 |
  10. osvaldomp

    Macro passar linhas para coluna

    Experimente: Sub OrganizaDados() Dim LR As Long, k As Long Application.ScreenUpdating = False ActiveSheet.AutoFilterMode = False LR = Cells(Rows.Count, 1).End(3).Row Range("B1:B" & LR).FormulaLocal = "=SE(CONT.NÚM(PESQUISAR({""Data:""\""Demanda:""\""Processo:""\""Razão:""};A1));1;"""")" Range("A1:B" & LR).AutoFilter 2, "" Range("A2:A" & LR).SpecialCells(xlCellTypeVisible).Copy Sheets("Plan2").[K1] With Sheets("Plan2") .Columns("A:E") = "" .[A1].Resize(, 4).Value = [{"Razão:","Processo:","Demanda:", "Data:"}] LR = .Cells(Rows.Count, 11).End(3).Row For k = 1 To LR - 4 Step 5 .Cells(Rows.Count, 1).End(3)(2).Resize(, 5).Value = Application.Transpose(.Cells(k, 11).Resize(5).Value) Next k .Columns(11) = "" End With ActiveSheet.AutoFilterMode = False Columns(2) = "" Application.ScreenUpdating = True End Sub obs. o resultado será colocado na Plan2 , altere o nome da planilha se necessário
  11. osvaldomp

    EXCEL - Procurar parte de um texto de uma célula

    Que valores você quer como retorno? Esta retorna VERDADEIRO ou FALSO =ÉNÚM(PROCURAR("AR";F3)) Esta outra retorna 1 ou zero =--ÉNÚM(PROCURAR("AR";F3))
  12. Dureza !!! Disponibilize o arquivo com o código instalado.
  13. O código que passei deve ser instalado em um módulo comum, assim: 1. copie o código daqui 2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA 3. no menu do editor >> Inserir >> Módulo 4. cole o código na janela em branco que vai se abrir 5. feito! 'Alt+Q' para retornar para a planilha e testar para rodar o código: 6. tecle 'Alt+F8' >> selecione a macro correspondente >> Executar, ou insira um botão na planilha e vincule-o à macro ou vincule-a a um atalho de teclado (Alt+F8 > Opções).
  14. osvaldomp

    RESPONDIDO Contar e recomeçar com a mesma data

    Olá, Geneci. Veja se atende. Inicialmente, para efeitos de testes, cole a fórmula abaixo em A1 e faça os testes inserindo datas em A2 =SE(E(DIA(A2)>=21;DIA(A2)<=30);A2;"21/8/18"+0) Se os resultados forem satisfatórios, então substitua na fórmula A2 por HOJE(), conforme abaixo =SE(E(DIA(HOJE())>=21;DIA(HOJE())<=30);HOJE();"21/8/18"+0) obs. na transição fevereiro/março o resultado poderá ser diferente do desejado; é possível incrementar a fórmula para contornar se necessário, para isso informe os resultados desejados para anos bissextos e não bissextos
  15. Veja se o código abaixo atende. Sub ContaTriplicados() Dim c As Long, a As Long, x As Long For a = 2 To Cells(Rows.Count, 3).End(3).Row For c = 3 To 26 If Application.CountIf(Cells(a, c).Resize(, 3), Cells(a, c)) = 3 Then x = x + 1: c = c + 2 Next c Cells(a, 30) = x: x = 0 Next a End Sub
×