Ir ao conteúdo
  • Cadastre-se

Crafteribanez

Membro Pleno
  • Posts

    97
  • Cadastrado em

  • Última visita

  1. Resolvido a pesquisa com o seguinte comando Python vNumeroCaracter = texto.find(variavel, inicio nova contagem)
  2. Boa tarde Estou tentando no Python => Google Colab o seguinte procedimento sem êxito. Encontrar todas as ocorrências de um texto e localizar o índice de cada ocorrência. Pretendo exportar os resultados obtidos para um arquivo externo. Código até o momento: from google.colab import files arquivo = files.upload() pip install pdfminer.six from pdfminer.high_level import extract_text texto = extract_text('dopa.pdf') print(texto) print("Termo Aditivo " + str(texto.count('EXTRATO DE TERMO ADITIVO'))) Este código me retorna a quantidade de ocorrências, porém precisaria encontrar os índices das 4 ocorrências para poder extrair as strings. Depois do texto, sempre tem o número do aditivo, é o que me interessa; Aceito sugestões. Grato.
  3. Boa Noite No Google Sheets (Planilhas), há uma função Query que ajuda muito a fazer consultas em outras bases parametrizadas, utilizando princípios do SQL ( Select, where, From, etc .....). Também encontrei em diversos sites maneiras de criar campos calculados dentro da query, incluindo novos campos. O problema: Para valores numéricos, consegui facilmente criar um campo calculado dentro do query obtendo o resultado, porém para diferenças entre datas, isto não foi possível, ou, não conheço o método correto. Retorna mensagem de erro que os campos não são numéricos. Más se for feito diretamente na planilha um menos o outro, o resultado aparece normalmente. Alguém teria um exemplo de cálculo entre dadas no query do Google sheets por acaso ? (Criação de campo calculado ) Grato.
  4. Option Explicit Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim sql As String Dim x As Integer Dim i As Long Sub Consolida() Application.ScreenUpdating = False Dim arq(1 To 3) As String Dim WB1 As Workbook Dim WS1 As Worksheet Dim ULD As Long Dim i As Integer Set WB1 = ActiveWorkbook Set WS1 = WB1.Sheets("Dados") Set cn = New ADODB.Connection Set rs = New ADODB.Recordset WS1.Select Cells.Clear arq(1) = "\\caminho" & "\Arquivo01.xlsx" arq(2) = "\\Caminho" & "\Arquivo02.xlsx" arq(3) = "\\Caminho" & "\Arquivo03.xlsx" For i = Plan2.Range("Célula alvo").Value To (UBound(arq)) With cn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=" & arq(i) .Properties("Extended Properties") = "Excel 8.0;HDR=YES" .Open End With sql = "Select * from [Planilha$]" rs.Open sql, cn, adOpenKeyset, adLockOptimistic WS1.Activate ULD = WS1.Cells(Rows.Count, 1).End(xlUp).Row WS1.Range("A" & ULD + 1).CopyFromRecordset rs For x = 1 To rs.Fields.Count WS1.Cells(1, x) = rs.Fields(x - 1).Name Next x cn.Close Next i Set cn = Nothing Set rs = Nothing Plan1.Activate MsgBox "Consolidação concluída ! " Plan2.Activate Application.ScreenUpdating = False End Sub Eu utilizo esta macro para juntar meus arquivos, que tem colunas iguais. Ativar a Referência "Microsoft Activex Data Objects 2.8 Library" ou superior para utilização da macro Adaptar conforme sua pasta de trabalho e planilhas. Felicidades.
  5. Adaptei uma função de verificação que encontrei em um site e funcionou bem. Criei um array para os 6 valores da planilha. Function verificar(vRegiao As Range) As Integer Dim vValores(6) Dim b As Variant Dim i As Integer Dim vContagem As Integer Dim w As Range vContagem = 0 vValores(1) = Plan1.Range("C3").Value vValores(2) = Plan1.Range("D3").Value vValores(3) = Plan1.Range("E3").Value vValores(4) = Plan1.Range("F3").Value vValores(5) = Plan1.Range("G3").Value vValores(6) = Plan1.Range("H3").Value For Each w In vRegiao For i = 1 To UBound(vValores) If vValores(i) = w.Value Then vContagem = vContagem + 1 End If Next i Next w verificar = vContagem End Function Site original para procura com String em Array : https://planilhando.com.br/forum/vba-macros/buscar-string-dentro-de-array/ Anexei a tua planilha com esta função VBA Acho que atende. Dá um grito se não for isto. Feliciddes. clube hardware1.7z
  6. Pelo que vi na tua planilha, o retorno que desejas é na range J6:J9. ? Confere ? Se for quer por fórmulas do Excel ou uma função do VBA ? Acho que por fórmulas vai ser bem mais "comprido" o texto a ser digitado.
  7. Boa tarde Função no Excel pronta para este propósito não encontrei, porém criei agora, uma função personalizada que talvez te atenda. Function junta(celula As Range) As String 'Teste condicional: Se na célula F1 célula do critério estiver vazia If Plan1.Range("F1").Value = "" Then 'Retorna para a função "Não encontrado" junta = "Não encontrado" 'Caso contrário Else 'Delcaração de veriáveis Dim uld As Long Dim a As Long Dim vCriterio As Integer Dim vTexto As String 'Busca o valor do critério vCriterio = Plan1.Range("F1").Value 'inicia a variável texto com vazio vTexto = "" 'Verifica a última linha da coluna "A" da planilha 1 para looping for uld = Plan1.Cells(Rows.Count, 1).End(xlUp).Row 'Inicia o looping for For a = 2 To uld 'Se a célula da coluna A da linha "a" for igual ao critério If Plan1.Range("A" & a).Value = vCriterio Then 'Acrescenta a variável vTexto o conteúdo da celula atual do looping vTexto = vTexto & " - " & Plan1.Range("B" & a).Value End If Next a 'Retorna para a função o texto concatenado de todos os critérios junta = vTexto End If End Function Inseri no posto o arquivo que criei com a macro. Dá uma olhada na função. Tentei descrever cada linha do código para melhor entendimento. Se te servir altera de acordo com as tuas planilhas. Felicidades. Função Junta.7z
  8. Boa tarde Trabalho em meus projetos tanto com planilhas direto, bem como com userforms (Formulários). Em ambos é possível retornar valores desejados. No caso dos userforms pode-se com certeza armazenar resultados em planilhas, faço isto direto. Poderia ser mais específico na questão ? Acredito que o que desejas seja possível, mesmo não tendo entendido bem a questão.
  9. Bom dia. Não tenho por procedimento utilizar planilhas compartilhadas. Para estas necessidades em que temos vários usuários geralmente utilizo um arquivo por pessoa em ambiente de rede com consulta sql, para os que somente "consultam" e procedimento de gravação para os que modificam. Base de dados separada em arquivo no servidor. Fica como dica. Provavelmente no fórum, haverá quem tenha melhor conhecimento em compartilhadas. Se necessitar informações de como proceder sql para consultas. Contate. Felicidades.
  10. Boa noite Uma das possibilidades de se fazer isto via código seria: Private Sub Worksheet_Activate() If Environ("username") = "usuario que se quer restringir" Then Planilha1.Visible = False End If End Sub Eu particularmente, utilizaria um UserForm com envio de informações direto para a Pasta de Trabalho e planilha desejada.
  11. Boa noite Marina Não sei se já conseguiste resolver esta questão. Olhei tua planilha e não vi datas inseridas em nenhum local, então acredito que desejas inserir isto de forma automática. Pode-se fazer um monitoramente de células de uma planilha e através de uma "mudança" ou inserção de valores em um local, registrar em outra planiha, a data desta ocorrência, usuário logado e célula alvo. Tenho alguns projetos em que registro alterações de valores em células e usuários que as procedeu, para fins de registro. Não sei se é isto que desejas. Caso tenha resolvido, felicidades, caso ainda não podes descrever melhor o problema. Boa noite e felicidades.
  12. Boa noite Diretamente por funções de planilha não encontrei uma função que atendesse esta necessidade, porém via VBA, tem esta aqui que funciona. A única coisa que tens que cuidar é o indice de ColorIndex do VBA. Function verificaColorIndex(celula As Range) If celula.Font.ColorIndex = 3 Then verificaColorIndex = "Vermelho" ElseIf celula.Font.ColorIndex = 33 Then verificaColorIndex = "Azul-Claro" Else verificaColorIndex = "Indefinido" End If End Function Se necessitar auxilio para achar os códigos das cores contata. Felicidades.
  13. Boa tarde Utilizei no Python na entrada entrada de dados a função replace para trocar a vírgula pelo ponto, considerando o cálculo no padrão americano. Funciona bem o código, porém gostaria de informações/dicas de como o pessoal está procedendo para programar os cálculos no formato brasileiro. Tem algum módulo pronto para isto, formato/visualização ? Ou cada vez que precisar visualizar o formato " Brasileiro => R$ 12.000,00" tem que ficar fazendo o replace ponto por virgula e virgula por ponto ? Grato. from tkinter import * def bt_click(): if(str(ed1.get()).replace(",","").isnumeric() and str(ed2.get().replace(",",""))).isnumeric(): num1= float(ed1.get().replace(",",".")) num2= float(ed1.get().replace(",",".")) num3 = num1 + num2 lb1["text"] = ("%10.2f" %(num3)) janela = Tk() janela.title("Calculos") bt1 = Button(janela,width=10, text="Calcular", command = bt_click) bt1.place(x=70, y=100) ed1 = Entry(janela,width=10) ed1.place(x=70, y=30) ed2 = Entry(janela,width=10) ed2.place(x=70, y=60) lb1 = Label(janela,text="Resultado") lb1.place(x=70, y=130) janela.mainloop()
  14. Bom dia Comecei a testar o Mit AppInventor par criar aplicativos para Android. Criei um bem básico e testei no meu Android 7.0 tudo ok. Enviei para alguns camaradas testarem e o que tem Android 6.0 me respondeu que aplicativo informa não poder instalar por não ter suporte. Gostaria de saber se o Mit AppInventor: http://ai2.appinventor.mit.edu/ tem versão mínima de Android para rodar aplicativos ou seria problema no celular Android do camarada ? Grato por alguma informação.

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