Notifications
Clear all

Autocompletar e auto-atualizar na lista suspensa

6 Posts
2 Usuários
0 Reactions
1,954 Visualizações
(@zanni)
Posts: 0
New Member
Topic starter
 

Bom dia galera!!

Preciso da ajuda de vocês para uma planilha que venho desenvolvendo.

Bom é o seguinte, estou trabalhando em conjunto com o almoxarifado da minha empresa com o objetivo de controle de estoque etc. E estou criando uma planilha onde ontem todos os materiais do almoxarifado, nos quais são muitos.

Estou com o problema para resolver 2 coisas:
-Autocompletar quando digito, porém eu queria que isso funcionasse apenas na célula MATERIAIS e não na célula TIPOS.
-E quando a célula TIPOS for modificada a célula MATERIAIS seja atualizada visualmente.

Lembrando que a célula materiais é baseada na célula tipos, por meio da função =SE() então a materiais depende da outra.

Eu achei a solução para o autocompletar com esse seguinte código

Option Explicit
 
'Baseado em código da www.contextures.com
Private Sub TempCombo_KeyDown(ByVal _
        KeyCode As MSForms.ReturnInteger, _
        ByVal Shift As Integer)
 
    'Ocultar caixa de combinação e mover a próxima célula com Enter e Tab
    Select Case KeyCode
        Case 9
            ActiveCell.Offset(0, 1).Activate
        Case 13
            ActiveCell.Offset(1, 0).Activate
        Case Else
            'Nada
    End Select
 
End Sub
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim str As String
    Dim cboTemp As OLEObject
    Dim ws As Worksheet
    Dim wsList As Worksheet
 
    Set ws = ActiveSheet
    Set wsList = Sheets(Me.Name)
    Application.EnableEvents = False
    Application.ScreenUpdating = False
 
    If Application.CutCopyMode Then
      'Permite copiar e colar na planilha
      GoTo errHandler
    End If
 
    Set cboTemp = ws.OLEObjects("TempCombo")
      On Error Resume Next
      With cboTemp
        .Top = 10
        .Left = 10
        .Width = 0
        .ListFillRange = ""
        .LinkedCell = ""
        .Visible = False
        .Value = ""
      End With
 
    On Error GoTo errHandler
      If Target.Validation.Type = 3 Then
        Application.EnableEvents = False
        str = Target.Validation.Formula1
        str = Right(str, Len(str) - 1)
        With cboTemp
            .Visible = True
            .Left = Target.Left
            .Top = Target.Top
            .Width = Target.Width + 15
            .Height = Target.Height + 5
            .ListFillRange = str
            .LinkedCell = Target.Address
        End With
        cboTemp.Activate
 
        'Abrir a lista suspensa automaticamente
        Me.TempCombo.DropDown
        End If
 
errHandler:
  Application.ScreenUpdating = True
  Application.EnableEvents = True
  Exit Sub
 
End Sub

Porém o código se aplica a todas as listas e eu queria que se aplicasse em apenas uma unica célula e não nas restantes.
Não sei se é possivel, mas desde já agradeço.

Quando a função de auto-atualizar, visualmente(Como um PROCV) eu não achei em nenhum local, também não sei se é possivel.

Segue abaixo o anexo de uma planilha semelhante, apenas para demonstração.

 
Postado : 29/05/2016 8:43 am
(@zanni)
Posts: 0
New Member
Topic starter
 

Nao entendi sua necessidade.

Gostaria que uma célula especifica se completasse enquanto escrevo.

 
Postado : 29/05/2016 8:54 am
(@mprudencio)
Posts: 0
New Member
 

Seja mais especifico ..

O que e onde vc quer o auto completar

 
Postado : 29/05/2016 9:48 am
(@zanni)
Posts: 0
New Member
Topic starter
 

Seja mais especifico ..

O que e onde vc quer o auto completar

-Autocompletar quando digito, porém eu queria que isso funcionasse apenas na célula MATERIAIS e não na célula TIPOS.

 
Postado : 29/05/2016 11:02 am
(@mprudencio)
Posts: 0
New Member
 

Para se auto completar e preciso uma lista pre existente e o que vi no seu exemplo sao apenas duas colunas uma com alguns numeros repetidos e outra com textos.

Repito a pergunta seja mais espefico.

 
Postado : 29/05/2016 1:25 pm
(@zanni)
Posts: 0
New Member
Topic starter
 

Para se auto completar e preciso uma lista pre existente e o que vi no seu exemplo sao apenas duas colunas uma com alguns numeros repetidos e outra com textos.

Repito a pergunta seja mais espefico.

Cara tem duas listas ali

Um na célula D3 e outra na célula D5.

A célula D5 depende da célula D3, ou seja, quando a célula D3 é alterada, para um dos materiais(1 2 ou 3) a célula D5 mostra as opções de materiais referente ao tipo, representado na célula D3.

Eu queria somente que na célula D5 a função de autocompletar funcionass, e a célula D3 continuasse do mesmo jeito que está, com a lista normalzona.

Refiz o upload da planilha, pq pode ter dado algum erro.

Tentei se o mais claro que consegui agora.

 
Postado : 29/05/2016 3:25 pm