Seleccionar varios elementos de un desplegable en una misma celda
publicado
Buenas
Necesitaría a partir de un desplegable que debe repetirse en una columna a lo largo de varias filas, poder seleccionar varios elementos que queden separados por comas. He encontrado una forma de hacerlo añadiendo este código al excel, pero necesitaría modificarlo para:
1. Que me permita borrar los valores si me equivoco
2. Que me permita arrastrar a lo largo de las filas, y que lo que arrastre sea el desplegable y no los valores seleccionados en la fila anterior. A ver si me podeis ayudar
Gracias!
Este es el código:
Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20180510
Dim xRgVal As Range
Dim xStrNew As String
On Error Resume Next
Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
Application.EnableEvents = False
xStrNew = Target.Value
Application.Undo
xStrNew = xStrNew & "," & Target.Value
Target.Value = xStrNew
Application.EnableEvents = True
End Sub
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenas
Necesitaría a partir de un desplegable que debe repetirse en una columna a lo largo de varias filas, poder seleccionar varios elementos que queden separados por comas. He encontrado una forma de hacerlo añadiendo este código al excel, pero necesitaría modificarlo para:
1. Que me permita borrar los valores si me equivoco
2. Que me permita arrastrar a lo largo de las filas, y que lo que arrastre sea el desplegable y no los valores seleccionados en la fila anterior. A ver si me podeis ayudar
Gracias!
Este es el código:
Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20180510
Dim xRgVal As Range
Dim xStrNew As String
On Error Resume Next
Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
Application.EnableEvents = False
xStrNew = Target.Value
Application.Undo
xStrNew = xStrNew & "," & Target.Value
Target.Value = xStrNew
Application.EnableEvents = True
End Sub