根据活动单元格值插入范围
Insert range based on activecell value
目前我有一个代码可以将同一工作簿中不同 sheet 的范围复制到我激活宏的 sheet。
这是我需要帮助的地方:
我希望仅当活动单元格位于 C 列 且 具有特定值时,宏才 运行。该值可以在 A1:A10
范围内的列表中找到
activecell必须在C列的部分,我已经搞定了。现在是另一部分。这是我到目前为止的代码。
Application.ScreenUpdating = False
If ActiveCell.Column <> 3 Then
MsgBox "Select a cell in column C", vbExclamation
Else
With Sheets("Info").Range("A25:J27").Copy
Sheets("Main").Activate
ActiveCell.End(xlDown).Offset(2).EntireRow.Insert shift:=xlDown
End With
End If
Application.ScreenUpdating = True
Application.CutCopyMode = False
'puts value in cell to trigger change event macro
Range("A1").Value = 1`
例如,我的列表包含汽车、房屋、狗等词。因此,当我的活动单元格位于 C 列并且其中包含这三个值之一并且我单击命令按钮时,我希望宏为 运行。如果活动单元格不在 C 列中或不是这三个值之一,则会出现 MsgBox。
我非常感谢对这最后一部分的帮助,因为我似乎无法弄明白。谢谢你的时间。
在函数的帮助下,即可能包含:
If ActiveCell.Column = 3 And Contains(ActiveCell.Value, [d1:d3]) Then
'your code
End If
Public Function Contains(val, searchrange As Range)
Dim item As Range
For Each item In searchrange
If val = item.Value Then Contains = True: Exit Function
Next
Contains = False
End Function
目前我有一个代码可以将同一工作簿中不同 sheet 的范围复制到我激活宏的 sheet。
这是我需要帮助的地方:
我希望仅当活动单元格位于 C 列 且 具有特定值时,宏才 运行。该值可以在 A1:A10
activecell必须在C列的部分,我已经搞定了。现在是另一部分。这是我到目前为止的代码。
Application.ScreenUpdating = False
If ActiveCell.Column <> 3 Then
MsgBox "Select a cell in column C", vbExclamation
Else
With Sheets("Info").Range("A25:J27").Copy
Sheets("Main").Activate
ActiveCell.End(xlDown).Offset(2).EntireRow.Insert shift:=xlDown
End With
End If
Application.ScreenUpdating = True
Application.CutCopyMode = False
'puts value in cell to trigger change event macro
Range("A1").Value = 1`
例如,我的列表包含汽车、房屋、狗等词。因此,当我的活动单元格位于 C 列并且其中包含这三个值之一并且我单击命令按钮时,我希望宏为 运行。如果活动单元格不在 C 列中或不是这三个值之一,则会出现 MsgBox。
我非常感谢对这最后一部分的帮助,因为我似乎无法弄明白。谢谢你的时间。
在函数的帮助下,即可能包含:
If ActiveCell.Column = 3 And Contains(ActiveCell.Value, [d1:d3]) Then
'your code
End If
Public Function Contains(val, searchrange As Range)
Dim item As Range
For Each item In searchrange
If val = item.Value Then Contains = True: Exit Function
Next
Contains = False
End Function