Pergunte aqui
0

Validação com lista de múltipla escolha

perguntadas 2017-01-16 19:20:20 +0200

imagem do gravatar de orlandocjunior

Boa tarde! Estou precisando formatar uma célula em que a validação de dados seja feita por lista, porém que permita a seleção de mais de uma alternativa no menu suspenso. É possível?

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

2 Respostas

0

respondidas 2017-01-19 19:04:30 +0200

imagem do gravatar de Beto

Veja se este meu vídeo te serve.

editar assinalar como ofensivo Excluir Link mais
0

respondidas 2017-01-20 01:33:55 +0200

Oi @orlandocjunior, só encontrei em Excel/VBA, (xlsm) não consegui conversão automática.

Descrição da imagem

A macro é esta, se alguém se habilitar a converter.....

    Rem Attribute VBA_ModuleType=VBADocumentModule
Option VBASupport 1
Option Explicit
' Developed by Contextures Inc.
' www.contextures.com
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDV As Range
Dim oldVal As String
Dim newVal As String
If Target.Count > 1 Then GoTo exitHandler

On Error Resume Next
Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo exitHandler

If rngDV Is Nothing Then GoTo exitHandler

If Intersect(Target, rngDV) Is Nothing Then
   'do nothing
Else
  Application.EnableEvents = False
  newVal = Target.Value
  Application.Undo
  oldVal = Target.Value
  Target.Value = newVal
  If Target.Column = 3 Then
    If oldVal = "" Then
      'do nothing
      Else
      If newVal = "" Then
      'do nothing
      Else
      Target.Value = oldVal _
        & [a1] & " " & newVal
      End If
    End If
  End If
End If

exitHandler:
  Application.EnableEvents = True
End Sub

Pelo site http://www.business-spreadsheets.com/...

consegui esta conversão, mas não funciona....

Rem Attribute VBA_ModuleType=VBADocumentModule
Option VBASupport 1
Option Explicit
' Developed by Contextures Inc.
' www.contextures.com
Private Sub Worksheet_Change(ByVal Target As Dim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ActiveSheet[n]oSheet.getCellRangeByName($1))
Dim rngDV As Dim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ActiveSheet[n]oSheet.getCellRangeByName($1)
Dim oldVal As String
Dim newVal As String
If Target.Count > 1 Then GoTo exitHandler
On Error Resume Next
Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo exitHandler
If rngDV Is Nothing Then GoTo exitHandler
If Intersect(Target, rngDV) Is Nothing Then
'do nothing
Else
Application.EnableEvents = False
newVal = Target.Value
Application.Undo
oldVal = Target.Value
Target.Value = newVal
If Target.Column = 3 Then
If oldVal = "" Then
'do nothing
Else
If newVal = "" Then
'do nothing
Else
Target.Value = oldVal _
& [a1] & " " & newVal
End If
End If
End If
End If
exitHandler:
Application.EnableEvents = True
End Sub
editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2017-01-16 19:20:20 +0200

Lidas: 424 vezes

Última atualização: Jan 20 '17