Notifications
Clear all

Atualizar o valor da celula na Editbox

28 Posts
3 Usuários
0 Reactions
3,659 Visualizações
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Prezados, boa tarde!!

Mais uma vez estou com um probleminha....

Como faço para que o valor contido na celula N3 do exemplo que estou enviando em anexo, apareça no item de menu "total liquido" atualizando automaticamente.
Criei uma rotina para o valor da celula aparecer no menu, porém, se eu trocar o valor da celula n3 a editbox não atualiza.

Grato!!

 
Postado : 13/06/2014 1:43 pm
(@edcronos)
Posts: 1006
Noble Member
 

no site da mico é tudo fragmentado, ou não se acha ou não se entende

deve ter algum comando associando a Ribbon que faça a leitura diretamente de dentro de uma macro comum

Se vc souber onde se encontra mais a reispeito da sintaxe e dos comandos associado assim como a linguagem padrão.

http://www.addison-wesley.de/media_remo ... 383bsp.pdf
pode ter a resposta, mas está em alemão, tenta usar um tradutor.
um pouco do conteúdo. "Traduzido pelo google"

    Dim objRibbon As IRibbonUI  
    Sub OnLoad(ribbon As IRibbonUI)  
        Set objRibbon = ribbon  
    End Sub 
...
GetItemWidth:
Passa o item como IRibbonControl e espera um valor para a largura dos itens exibidos em uma galeria de imagens de pixel.

 GetKeyTip:
 Passa o item como IRibbonControl e espera um valor para o atributo KeyTip como um valor string.

 getLabel:
Passa o item como IRibbonControl e espera um valor para o rótulo de atributo como um valor string.

 getPressed:
 Passa o item como IRibbonControl e espera um valor para o atributo pressionado como um valor string (verdadeiro ou falso, 1 ou 0)

 getScreentip:
Passa o item como IRibbonControl e espera um valor para o atributo de dica de tela como um valor string.

 getSelectedItemID:
    Chamado por suspensa e galeria de elementos. Passa o item como IRibbonControl e espera um valor de string para o atributo selectedItemID.

 getSelectedItem-Will:
 chamado por suspensa e galeria de elementos. Passa o índice do elemento como IRibbonControl e espera um valor para o atributo SelectedItemIndex como um valor string.

 getShowImage:
 Passa o item como IRibbonControl e espera que o valor verdadeiro ou falso ou 1 ou 0 para o atributo ShowImage como um valor string.

 getShowLabel:
         Passa o item como IRibbonControl e espera que o valor verdadeiro ou falso ou 1 ou 0 para o atributo ShowLabel como um valor string.

 getSize:
 Usado por botão, menu, botão de divisão e elementos togglebutton chamados. Passa o item como IRibbonControl e espera que o valor normal ou grande para o atributo tamanho de um valor string.

 getSupertip:
Passa o item como IRibbonControl e espera um valor para o atributo SuperTip como um valor string.

 getText:
 Se EditBox, combobox, suspensa ou galeria de elementos é chamado. Passa o item como IRibbonControl e espera um valor para o atributo de texto como um valor string.

 getTitle:
Chamado por menuseparator elemento. Passa o item como IRibbonControl e espera um valor para o atributo do título como um valor string.

 getVisible:
 Passa o item como IRibbonControl e espera que o valor verdadeiro ou falso ou 1 ou 0 para o atributo visível como um valor string.

att

 
Postado : 18/06/2014 6:56 pm
(@edcronos)
Posts: 1006
Noble Member
 

se soubese a sintaxe poderia usar onChange da dropDown
para assim que se trocar o valor da lista atualizar o valor da editBox tbm

onAction="DDOnAction & GetEditBoxText",
mas não achei uma maneira de executar 2 macros nem de chamar a linha de comando da editbox, e onaction não pode ser duplicado...

 
Postado : 18/06/2014 7:18 pm
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Pesquisando encontrei uma linha de código que faz com que o controle labelcontrol se atualize mediante o valor contido na editbox no evento onchange. Por exemplo: se eu colocar o valor 500 na editbox, o texto exibido na labelcontrol passa a ser 500 instantaneamente.

Creio que esse é o caminho, agora é achar um metodo!

Estou enviando a planilha em anexo. os controles estão na guia de nome XLG

 
Postado : 19/06/2014 9:01 am
(@edcronos)
Posts: 1006
Noble Member
 

cara eu pesquisei e até achei um que adiciona os ribbon e os controles por macro comum.
até testei e pensei que se dava para adicionar as partes que se quer atualização pela plan sendo adicionada por macro.

Sub Barra_de_Ferramentas()

    Set BarraMenu_Suplementos = CommandBars.ActiveMenuBar
        Set Controle = BarraMenu_Suplementos.Controls.Add(Type:=msoControlPopup, Temporary:=True, Before:=1)
        Controle.Caption = "&Suplementos"
        Controle.TooltipText = "Suplementos"
        Controle.BeginGroup = True

        Set ctrl_1 = Controle.Controls.Add(Type:=msoControlButton, ID:=1)
        ctrl_1.Caption = "&Maiúsculas e Minúsculas"
        ctrl_1.TooltipText = "Maiúsculas e Minúsculas"
        ctrl_1.OnAction = "ma_mi"
        ctrl_1.BeginGroup = True
            
        Set ctrl_11 = Controle.Controls.Add(Type:=msoControlPopup, ID:=1)
        ctrl_11.Caption = "&Aplicativos"
        ctrl_11.TooltipText = "Aplicativos"
        ctrl_11.BeginGroup = True
        
            Set ctrl_111 = ctrl_11.Controls.Add(Type:=msoControlButton, ID:=1)
            ctrl_111.Caption = "&Calculadora"
            ctrl_111.TooltipText = "Calculadora"
            ctrl_111.OnAction = "exec_calc"
            ctrl_111.FaceId = 300
            ctrl_111.BeginGroup = True
            
            Set ctrl_112 = ctrl_11.Controls.Add(Type:=msoControlButton, ID:=1)
            ctrl_112.Caption = "&Paint"
            ctrl_112.TooltipText = "Paint"
            ctrl_112.OnAction = "exec_paint"
'            ctrl_112.FaceId = 400
'            ctrl_112.BeginGroup = True
             
        Set ctrl_12 = Controle.Controls.Add(Type:=msoControlButton, ID:=1)
        ctrl_12.Caption = "&Xxxxx"
        ctrl_12.TooltipText = "Xxxxx"
        ctrl_12.FaceId = 361
        ctrl_12.OnAction = "xx"

End Sub

Sub InitEvents()
   Dim cbrBar As Office.CommandBar

   Set cbrBar = CommandBars("editBox")
   With cbrBar
     Set clsCBClass.cmdBold = .Controls("Bold")
     Set clsCBClass.cmdItalic = .Controls("Italic")
     Set clsCBClass.cmdUnderline = .Controls("Underline")
     Set clsCBClass.cboFontSize = .Controls("Set Font Size")
   End With
   Set clsCBClass.colCBars = CommandBars
 End Sub

Sub ma_mi()
    Maiu_Minu.Show False
End Sub

Sub exec_paint()
    Dim ReturnValue, i
    ReturnValue = Shell("mspaint.exe", 1)   ' Executa o Paint.
End Sub

Sub exec_calc()
    Dim ReturnValue, i
    ReturnValue = Shell("CALC.EXE", 1)    ' Executa a Calculadora.
End Sub

mas...
é algo ingrato,
Não se tem informação concentradas, nem exemplos práticos para analisar as sintaxes, e oq se tem não detalha oq cada comando faz.
Baixei editores de Ribbon diferentes e outras coisas para ver se acompanhava alguma informação ou macro útil, peguei até um cavalo de troia chato"creio que já me livrei".

parece que os comando que funciona no outlook e em outros não funcionam no excel.

 
Postado : 19/06/2014 11:07 am
(@edcronos)
Posts: 1006
Noble Member
 

talvez essa pagina de um contexto melhor sobre os comandos ligados a ediibox

http://msdn.microsoft.com/en-us/library ... 12%29.aspx

 
Postado : 19/06/2014 12:18 pm
(@edcronos)
Posts: 1006
Noble Member
 

cara eu consegui trocar o valor por macro normal e valor da celula

mas eu fiz tanta coisa que não sei oq foi que funcionou, e tem tanta coisa junta que não sei oq funciona com oq,
vou tentar limpar as sujeiras.

o pior que até para trocar os nomes das macros eu tenho que reiniciar a planilha senão dá erro.
portanto para cada teste que se vai fazer tem que fechar e reabrir a planilha :( "não é teste de trocar valor não, apenas para saber quais macros que trabalham juntas"

 
Postado : 19/06/2014 1:02 pm
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

rsrsr... ao invés de você utilizar os controles via "Editor" você os adicionou via macro? Muito Massa!!!

Encontrei esse site também, é bem parecido... só que tem que adaptar.

http://stackoverflow.com/questions/1866 ... -vba-excel

 
Postado : 19/06/2014 1:59 pm
(@edcronos)
Posts: 1006
Noble Member
 

Não, esse por macro peguei de um site.

mas tentando entender tudo, fiz um padrão,
o difícil foi conciliar todas as informação com algo pratico e funcional.

mas já consegui, apenas estou ajustando e limpando os extras para não confundir mais ainda.

 
Postado : 19/06/2014 2:20 pm
(@edcronos)
Posts: 1006
Noble Member
 

testa aí

 
Postado : 19/06/2014 2:26 pm
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Ficou Show, perfeito!!!!!!!

Muito Obrigado pela ajuda Edcronos.

 
Postado : 19/06/2014 2:43 pm
(@edcronos)
Posts: 1006
Noble Member
 

eu coloquei uns nomes diferentes nas variáveis e nomes , para diferenciar oq é comando e oq é nome ou variável.
baixei um monte de ribbon diferente para tentar entender oq funciona com oq,

eu ia implementar na minha planilha, mas pelo trabalho que dá, melhor ficar com formulário mesmo

 
Postado : 19/06/2014 2:47 pm
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Pelo que vi, esses tipos de controles é pouco utilizado aqui no Brasil, o que dificulta a pesquisa. Isso era muito utilizado no office de 2003 daí por diante a microsoft disponibilizou isso somente para desenvolvedores.

creio que utilizando ribbons, os dados ficam mais seguros... e dificultam a descoberta dos dados. Mas como é excel, nada é seguro pra quem conhece!!!!!

Como quem vai utilizar a planilha são pessoas quem têm pouco conhecimento em excel... quebrar isso vai ser quase impossivel (creio eu).

Mas pra falar a verdade, o trabalho que isso dá... é pra desanimar!!!

mas uma vez, muito obrigado Edcronos, sua ajuda foi de extrema contribuição!!!

 
Postado : 19/06/2014 3:12 pm
(@edcronos)
Posts: 1006
Noble Member
 

caso vc queira:

Private Sub ValordeCell(control As IRibbonControl, ByRef text)
Var_troca_valor = text'<<<tirando o valor da edit box não pode ser editado
Range("N3").Value = text''<<<colocando o valor digitado na edit box vai para a celula
Ribo_nome.InvalidateControl (control.ID)
End Sub

tem outras coisas que eu entendi da situação, mas como vc disse, é para desanimar a complicação

 
Postado : 19/06/2014 3:20 pm
Página 2 / 2