Ir ao conteúdo
  • Cadastre-se

RafaVillani

Membro Pleno
  • Posts

    425
  • Cadastrado em

  • Última visita

posts postados por RafaVillani

  1. @ROSANO100 Bom dia, então, eu instalei o Visual Studio e estava criando o Task Pane por ele, mas vi que existem muitos sub comandos, sub rotinas e sub propriedades. Então eu pesquisei e vi que é possível fazer através do próprio VBA do excel, mas, para isso, precisamos baixar um componente de ferramentas, bom, vamos lá:

     

    1- Baixe e instale a versão Free do A-Tools no seu computador, observe a versão do seu office 32 ou 64 bits, A-Tools Free.

     

    2- Obtenha a imagem que você deseja através da câmera do Excel, e a renomeie como "Imagem".

     

    3- Abra o editor do VBA, insira um novo userform, e adicione um componente de imagem.

     

    4- Na guia de propriedades do userform altere a propriedade ShowModal do userform para False.

     

    5- Insira um novo módulo e cole este código:

    Sub Carregar_Imagem()
    
    Dim Plan As String
    Dim PastaNome As String
    Dim oImage As Shape
    Dim oSheet As Worksheet
    Dim oTemp As ChartObject
    Dim oChartArea As Chart
    
    Plan = Plan1.Name
    PastaNome = ThisWorkbook.Path & Application.PathSeparator & "imagem.gif"
    
    Set oSheet = Plan1
    Set oImage = oSheet.Shapes.Item("Imagem")
    
    oImage.CopyPicture
    
    Set oTemp = oSheet.ChartObjects.Add(100, 100, oImage.Width, oImage.Height)
    Set oChartArea = oTemp.Chart
    oTemp.Activate
    With oChartArea
        .ChartArea.Select
        .Paste
        .Export Filename:=PastaNome, filtername:="GIF"
    End With
    UserForm1.Image1.Picture = LoadPicture(PastaNome)
    oTemp.Delete
    End Sub

     

     6- Duplo clique no Userform1, apague as linhas e cole este código:

    Public WithEvents TP As BSTaskPane
    
    Private Sub UserForm_Initialize()
    Dim TPs As New BSTaskPanes
    Set TP = TPs.Add("Task Pane", Me, False, dpRight)
    Call Carregar_Imagem
    End Sub

     

    7- No evento Change da sua planilha onde está a Imagem, cole este código:

    Private Sub Worksheet_Change(ByVal Target As Range)
    Call Carregar_Imagem
    End Sub

    No meu modelo os dados e a imagem estão na plan1, altere conforme sua planilha.

     

    8- No evento Open da sua pasta de trabalho cole este código:

    Private Sub Workbook_Open()
    UserForm1.Show
    UserForm1.TP.Visible = True
    End Sub

     

    Sua TaskPane está pronta, espero que lhe atenda.

     

    RafaVillani

  2. @paulotucaBem observado, eu havia alterado para fazer alguns testes e esqueci de voltar ao normal.

     

    Substitua o código dentro do evento change do cbbobs por este:

    If Me.cbbStatus.Value <> "Cancelado" And Me.cbbobs.Value = "Preço" Then
        MsgBox "Preço disponível apenas para status Cancelado!", vbInformation
        Me.cbbobs.Value = Empty
    Else
        Me.txtObs.Text = Me.cbbobs.Value
    End If

    RafaVillani

    • Obrigado 1
  3. @paulotucaBom dia!

    27 minutos atrás, paulotuca disse:

    problema  da consulta no ultimo nome da listbox não aceitar o duploclick.

    Paulo, eu já havia descoberto a causa, porém, me esqueci de lhe dizer. Não tem nada de errado com o código, não é erro.

     

    O que está ocorrendo é que quando damos o duplo clique no listbox1 na maioria das vezes damos um clique involuntário no listbox2, porque eles estão praticamente sobrepostos um ao outro, e isso nos fez crer que o código estava errado.

     

    Faça o teste, atribua False para a propriedade Enabled do listbox2, você irá ver que funciona normalmente, uma vez que não ocorrer este clique involuntário.

     

    32 minutos atrás, paulotuca disse:

    para mim aqui não esta atualizando. 

    Já havia percebido isso também, o que está ocorrendo é que os dados referentes ao Preço estão sendo salvos como texto e não como número, dessa forma o excel não reconhece e não faz a soma, siga esses passos:

     

    1) Retire a linha de comando do evento BeforeUpdate do txtpreço;

    2) Na planilha cancelados, selecione toda a coluna preço e formate como Contábil, 2 casas decimais, e com o simbolo de R$.

    3) Na sub Salvar, altere todas as linhas UserForm2.txtpreco.Text, por UserForm2.txtpreco.Value.

     

    Lembrando que quando for entrar com o preço, para que não ocorra erro no na soma e não interfira no gráfico, entre com esse formato, por exemplo 12.500,00, deverá ser digitado 12500.50.

     

    RafaVillani

    • Obrigado 1
  4. @ROSANO100Tudo bem, sem problemas.

     

    Então, não consegui visualizar o painel, primeiro deu erro de localização confiável, contornei o erro adicionando uma localização, depois deu erro no arquivo do visual studio (vsto). 
     

    O código que lhe passei não ajudou em nada?

    A lógica é de que o componente que está carregando a imagem da câmera seja atualizado a cada modificação na planilha. 
     

    Para isso, a cada modificação na planilha é gerada uma nova imagem que é salva no local da sua pasta de trabalho, e carregada no componente.

     

    RafaVillani

  5. @ROSANO100 Posso não ter visto os painéis de tarefas, muito menos ter criado um com o visual studio, porém, entendo um pouquinho de programação, inclusive VB.

     

    Sei que não é a solução para seu problema, mas, pode lhe dar uma luz.

     

    Fiz no VBA, usando a ferramenta image, ela é atualizada em tempo real, basta você digitar a linha e coluna que deseja alterar e inserir o novo valor.

     

    Se não for isso, me desculpe, minha intenção era somente ajudar, e espero que alguém com maior conhecimento lhe auxilie.

    Foto_Form_Tempo_Real.rar

  6. @paulotucaÉ possível sim, mas ai termos que alterar o projeto praticamente todo, acrescentar mais uma coluna nas tabelas das planilhas, alterar a exibição dos listbox e seus eventos cliques, os botões de ação, a sub salvar, ou seja, praticamente teremos que alterar o projeto todo.

     

    Pensei em uma saída, já que não existe a possibilidade de se selecionar mais de uma opção no cvv obs, deixe como está, se no cbbobs for selecionado outros na txtobs você entra com a observação, se o status for cancelado e no cbbobs for preço, na txtobs você entra com o preço.

     

    A escolha é sua.

     

    RafaVillani 

    • Obrigado 1

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!