Macro para validación de datos

En una hoja he puesto la siguiente macro para poder escoger más de un valor en una celda ce una lista de validación de datos.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
Application.EnableEvents = True
End Sub

El caso es que me lo aplica a toda la hoja y solo lo quiero aplicar a una serie de columnas, ¿dónde tengo que poner esa "orden" en la macro?.

1 respuesta

Respuesta
2

Por ejemplo si quieres aplicar en las columnas D a E, de la G a la I y solamente la K y la M.

Utiliza lo siguiente:

If Not Application.Intersect(Target, xRng, Range("D:E, G:I, K:K, M:M")) Is Nothing Then

Si es lo que necesitas, no olvides valorar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas