Ir ao conteúdo
  • Cadastre-se

Schiavinatto

Membro Pleno
  • Posts

    150
  • Cadastrado em

  • Última visita

  1. Olá @FILIPE_NERI, explica o que a macro deve fazer? Fez pelo gravador de macro?
  2. O aviso de erro é claro. Os dados inseridos na célula C28 violam as regras de validação de dados definidas nesta célula. Para um palpite melhor, só vendo o arquivo.
  3. Ola @RAIMUNDO LIMA DE ARAUJO, em sua planilha, modelo, não tem extra a calcular, a saída max. foi 18h.
  4. Sugestão em: https://ask.libreoffice.org/t/macro-para-colocar-data-e-hora-automaticos-fixo/81142/2
  5. Ola @hkss, poste sua dúvida em https://ask.libreoffice.org/c/brazilian-portuguese/9, é local de ajuda especifica para LibreOffice.
  6. Olá @fabio rodrigues, só consegui ver a macro de escrever o valor por extenso, tenho essa em Basic: ' Por Extenso Function NExtenso(byval dValor as double) as string 'https://wiki.documentfoundation.org/Extensions/Projects/NumExtenso/pt-br 'desenvolvida por: Noelson Alves Duarte e Gustavo Buzzatti Pacheco 'O############################################################################O Function NExtenso(byval dValor as double) as string 'O############################################################################O nextenso=extenso(dvalor,"reais", "real") End function Function Extenso(ByVal Valor As Double, ByVal MoedaPlural As String, ByVal MoedaSingular As String) As String Dim StrValor As String, Negativo As Boolean Dim Buf As String, Parcial As Integer Dim Temp as string Dim Posicao As Integer, Unidades Dim Dezenas, Centenas, PotenciasSingular Dim PotenciasPlural Negativo = (Valor < 0) Valor = Abs((Valor)) If Valor Then Unidades = Array(vbNullString, "um", "dois", "três", "quatro", "cinco", "seis", "sete", "oito", "nove", "dez", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove") Dezenas = Array(vbNullString, vbNullString, "vinte", "trinta", "quarenta", "cinquenta", "sessenta", "setenta", "oitenta", "noventa") Centenas = Array(vbNullString, "cento", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos") PotenciasSingular = Array(vbNullString, " mil", " milhão", " bilhão", " trilhão", " quatrilhão") PotenciasPlural = Array(vbNullString, " mil", " milhões", " bilhões", " trilhões", " quatrilhões") StrValor = Left(Format(Valor, String(18, "0") & ".000"), 18) For Posicao = 1 To 18 Step 3 Parcial = Val(Mid(StrValor, Posicao, 3)) If Parcial Then If Parcial = 1 Then Buf = "um" & PotenciasSingular((18 - Posicao) \ 3) ElseIf Parcial = 100 Then Buf = "cem" & PotenciasSingular((18 - Posicao) \ 3) Else Buf = Centenas(Parcial \ 100) Parcial = Parcial Mod 100 If Parcial <> 0 And Buf <> vbNullString Then Buf = Buf & " e " End If If Parcial < 20 Then Buf = Buf & Unidades(Parcial) Else Buf = Buf & Dezenas(Parcial \ 10) Parcial = Parcial Mod 10 If Parcial <> 0 And Buf <> vbNullString Then Buf = Buf & " e " End If Buf = Buf & Unidades(Parcial) End If Buf = Buf & PotenciasPlural((18 - Posicao) \ 3) End If If Buf <> vbNullString Then If Temp <> vbNullString Then Parcial = Val(Mid(StrValor, Posicao, 3)) If Posicao = 16 And (Parcial < 100 Or _ (Parcial Mod 100) = 0) Then Temp = Temp & " e " Else Temp = Temp & ", " End If End If Temp = Temp & Buf End If End If Next If Temp <> vbNullString Then If Negativo Then Temp = "menos " & Temp End If If Int(Valor) = 1 Then Temp = Temp & " " & MoedaSingular Else Temp = Temp & " " & MoedaPlural End If End If Parcial = Int((Valor - Int(Valor)) * 100 + 0.1) If Parcial Then Buf = ExtensoCentavos(Parcial, "centavos", "centavo") If Temp <> vbNullString Then Temp = Temp & " e " End If Temp = Temp & Buf End If End If Extenso = Temp End Function Function ExtensoCentavos(ByVal Valor As Double, ByVal MoedaPlural As String, ByVal MoedaSingular As String) As String Dim StrValor As String, Negativo As Boolean Dim Buf As String, Parcial As Integer Dim Temp as string Dim Posicao As Integer, Unidades Dim Dezenas, Centenas, PotenciasSingular Dim PotenciasPlural Negativo = (Valor < 0) Valor = Abs((Valor)) If Valor Then Unidades = Array(vbNullString, "um", "dois", "três", "quatro", "cinco", "seis", "sete", "oito", "nove", "dez", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove") Dezenas = Array(vbNullString, vbNullString, "vinte", "trinta", "quarenta", "cinquenta", "sessenta", "setenta", "oitenta", "noventa") Centenas = Array(vbNullString, "cento", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos") PotenciasSingular = Array(vbNullString, " mil", " milhão", " bilhão", " trilhão", " quatrilhão") PotenciasPlural = Array(vbNullString, " mil", " milhões", " bilhões", " trilhões", " quatrilhões") StrValor = Left(Format(Valor, String(18, "0") & ".000"), 18) For Posicao = 1 To 18 Step 3 Parcial = Val(Mid(StrValor, Posicao, 3)) If Parcial Then If Parcial = 1 Then Buf = "um" & PotenciasSingular((18 - Posicao) \ 3) ElseIf Parcial = 100 Then Buf = "cem" & PotenciasSingular((18 - Posicao) \ 3) Else Buf = Centenas(Parcial \ 100) Parcial = Parcial Mod 100 If Parcial <> 0 And Buf <> vbNullString Then Buf = Buf & " e " End If If Parcial < 20 Then Buf = Buf & Unidades(Parcial) Else Buf = Buf & Dezenas(Parcial \ 10) Parcial = Parcial Mod 10 If Parcial <> 0 And Buf <> vbNullString Then Buf = Buf & " e " End If Buf = Buf & Unidades(Parcial) End If Buf = Buf & PotenciasPlural((18 - Posicao) \ 3) End If If Buf <> vbNullString Then If Temp <> vbNullString Then Parcial = Val(Mid(StrValor, Posicao, 3)) If Posicao = 16 And (Parcial < 100 Or _ (Parcial Mod 100) = 0) Then Temp = Temp & " e " Else Temp = Temp & ", " End If End If Temp = Temp & Buf End If End If Next If Temp <> vbNullString Then If Negativo Then Temp = "menos " & Temp End If If Int(Valor) = 1 Then Temp = Temp & " " & MoedaSingular Else Temp = Temp & " " & MoedaPlural End If End If Parcial = Int((Valor - Int(Valor)) * 100 + 0.1) If Parcial Then Buf = Extenso(Parcial, "centavos", "centavo") If Temp <> vbNullString Then Temp = Temp & " e " End If Temp = Temp & Buf End If End If ExtensoCentavos = Temp End Function
  7. @Alex Sandro Pereira na real seria o Google planilhas, que devera ler o Calc. Não sei se é possível, nunca usei o Google planilhas. Teria que consultar Fórum do Google...
  8. @psiflavio Não é possível. Mas dá para contornar, coloque a forma em Dispor para o plano de fundo. Desta maneira as células são visíveis em cima da Forma. Obs. Para selecionar a imagem Disposta em plano de fundo, use a setinha da Barra de ferramentas Desenho, selecione um pouco maior que a imagem. Obs. A Célula não pode ter cor de fundo.
  9. @SkaterGirl Sobre a parte negrito $DADOS.$D$2:$D$200 esta é a coluna onde é procurada a referência a parte =MENOR($DADOS.$D$2:$D$200;LINHA()-3 a funçãp menor requer um indice, o primeiro menor (1) que sera o primeiro da sequencia a ser localizado para não ser necessári alterr o 1 para 2 nas linhas seguintes uso a formula ;LINHA()-3 Desconheço o funcionamento do Google Planilhas, só uso e desenvolvo para o LibreOffice, desde 1998 quando se chamava StarOffice. Sugestão, mantenha uma conta em uma nuvem ( ex: Dropbox / Mega ) com a pasta, dos arquivos, compartilhado nas maquinas, assim poderá usar o LibreOffice em todas as máquinas.
  10. @skatergirl , segue uma sugestão.. obs.: após baixar o arquivo, só nude a terminação de .zip para .ods, antes de abrir. trimestre.zip
  11. @pretojoia, segue versão com macros para lançamento de Entradas e Saídas. porém para o controle de Validade o Estoque também tem que controlar separado. Precisa estudar como será feito, para aprimorar a planilha. Caso queira entre em contato direto, e-mail em meu perfil, ao lado. ATENÇÃO O ARQUIVO ZIPADO ANEXO, SO ALTERE DE zip PARA ods, PARA ABERTURA NO LibreOffice. Planilha de control Estoque.zip
  12. Ola @pretojoia, segue um exemplo do arquivo, posso te ajudar mais no final de semana... Na planilha ENTRADA, ao acionar o botão [Cadastrar] a macro copia os dados, sem formulas, para a planilha ENT_ESTOQUE e atualiza a Tabela Dinâmica que esta na planilha ESTOQUE_TD, para incluir novos itens, se necessário. Faça um teste, inclua um item novo, ele aparecerá na lista de ESTOQUE_TD. Caso queira tentar a replicar o processo para a SAIDA, fique a vontade ( ou posso faze-lo no final de semana ) ATENÇÃO O ARQUIVO ZIPADO ANEXO, SO ALTERE DE zip PARA ods, PARA ABERTURA NO LibreOffice. Planilha de control Estoque.zip
  13. Ola @pretojoia, poste um arquivo exemplo, fica mais fácil palpitar. Talvez, so corrigir a macro !!!!

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