将VBAmacros应用于多个单元格
我会说我不是VBA的专家。 我有一个VBA代码,从一个单元格中的选定列表追加多个值。 代码工作,但现在我想申请代码到多个单元格。
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) 'Code by Sumit Bansal from https://trumpexcel.com ' To Select Multiple Items from a Drop Down List in Excel Dim Oldvalue As String Dim Newvalue As String Application.EnableEvents = True On Error GoTo Exitsub If Target.Address = "$A$7" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue = Target.Value If Oldvalue = "" Then Target.Value = Newvalue Else If InStr(1, Oldvalue, Newvalue) = 0 Then Target.Value = Oldvalue & "," & Chr(10) & Newvalue Else: Target.Value = Oldvalue End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub
我如何扩展我的代码使用单元格范围
$A$7:$A$18
而不是"$A$7"
以便我可以将VBA代码应用于Excel中的多个单元格。
更改
If Target.Address = "$A$7" Then
至
If Not Intersect(Target, Range("A7:A18")) Is Nothing Then
我用通配符。
If Target.Address = "$A$7" Then
至
If Target.Address Like "$A$[7-9]" Or Target.Address Like "$A$1[0-8]" Then