Excel 当某个单元格';s值=”s;1“;
我希望计算机在excel工作表中某个单元格(如A1)的值更改为某个值(如“1”)后立即自动按某个组合键(如Ctrl+Alt+x)。Excel 当某个单元格';s值=”s;1“;,excel,vba,Excel,Vba,我希望计算机在excel工作表中某个单元格(如A1)的值更改为某个值(如“1”)后立即自动按某个组合键(如Ctrl+Alt+x)。 我在互联网上搜索了几个小时,但找不到与我的情况完全相同的信息。请提供帮助,非常感谢。我很确定您不需要输入组合键,但如果您真的想输入组合键,请输入组合键。SendKeys。 此代码将根据单元格A1中输入的值执行许多操作,并使用SendKeys命令完成: 'Fires when you change a value on the sheet. Private Sub W
我在互联网上搜索了几个小时,但找不到与我的情况完全相同的信息。请提供帮助,非常感谢。我很确定您不需要输入组合键,但如果您真的想输入组合键,请输入组合键。
SendKeys
。
此代码将根据单元格A1中输入的值执行许多操作,并使用SendKeys命令完成:
'Fires when you change a value on the sheet.
Private Sub Worksheet_Change(ByVal Target As Range)
'Was only a single cell selected?
If Target.Cells.Count = 1 Then
'Was the value changed (Target) in range A1?
If Not Intersect(Target, Range("A1")) Is Nothing Then
'Perform an action depending on Targets value.
Select Case Target.Value
Case 1
'Cut the Target cell (Ctrl+x).
Target.Cut
Case 2
'Copy the Target cell (Ctrl+c).
Target.Copy
Case 3
'Filldown from the Target 10 rows.
Target.Resize(10).FillDown
Case 4
'Change the font colour to red.
Target.Font.Color = vbRed
Case "Hello"
'Change the contents of the cell.
'This will cause the Change event to fire again, so disable events first.
Application.EnableEvents = False
Target.Value = "Goodbye"
Application.EnableEvents = True
Case Else
'If anything else is press keys Right Arrow, Up Arrow, F2.
SendKeys "{RIGHT}{UP}{F2}"
End Select
End If
End If
End Sub
Ctrl+x
是cut
的命令。你能不能用类似于Range(“A1”)。例如,剪切目的地:=Range(“A2”)
?对不起,我不应该用Ctrl+x作为例子。我不打算执行剪切操作,只想让计算机按一个组合键。如果单元格A1是一个公式,比如“=B1+C1”,则代码不起作用。对不起,我忘了提那件事。请再次帮助。要在公式更新时触发,您必须使用工作表\u Calculate
事件。但是,您无法获得带有该参数的Target
参数,因此您必须检查特定单元格,如果它是您想要的值,则选择该单元格,然后使用SendKeys
。但正如我所说的,可能有一种比SendKeys更好的方法。如果您将原始问题更新为您想要的最终结果,那么保留状态可能会被删除。