Excel宏:对选定单词的操作
如何让宏对我突出显示/选择的任何单词执行设置顺序的操作 我录下自己选择一个词,然后执行动作。我的想法是必须对我选择的任何词采取行动。但是,当我选择任何其他单词来执行宏时,它只对“And”执行 守则:Excel宏:对选定单词的操作,excel,vba,Excel,Vba,如何让宏对我突出显示/选择的任何单词执行设置顺序的操作 我录下自己选择一个词,然后执行动作。我的想法是必须对我选择的任何词采取行动。但是,当我选择任何其他单词来执行宏时,它只对“And”执行 守则: Sub Test() ' ' Test Macro ' ' Keyboard Shortcut: Option+Cmd+r ' Range("AW2").Select ActiveCell.FormulaR1C1 = "And" Col
Sub Test()
'
' Test Macro
'
' Keyboard Shortcut: Option+Cmd+r
'
Range("AW2").Select
ActiveCell.FormulaR1C1 = "And"
Columns("N:N").Select
Selection.Insert Shift:=xlToRight
Range("N1").Select
ActiveCell.FormulaR1C1 = "And"
Range("N2").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNUMBER(SEARCH(""And"", RC[-2]:R[4545]C[-2])), ""yes"", ""no"")"
Range("N2").Select
Selection.AutoFill Destination:=Range("N2:N4547")
Range("N2:N4547").Select
ActiveWindow.ScrollRow = 4577
Range("N4555").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(R[-4553]C:R[-8]C, ""yes"")"
Range("N4556").Select
End Sub
本质上,我希望用一个表示“我高亮显示的任何单词”的变量替换“和”。编辑单元格时不可能执行VBA代码。必须先保存或撤消更改,然后才能执行VBA
最好的方法是复制该值,然后在代码中请求该值,或者让VBA检查剪贴板中的有效值。执行后一种操作很复杂,完全是另一个问题,因此我在这里不作详细说明,只想说网络上有代码可用于执行此操作。如果我没有弄错,请选择具有您要使用的值的单元格并运行此代码:
Sub Test()
Dim str As String
str = Selection.Value
Columns("N:N").Insert Shift:=xlToRight
Range("N1").FormulaR1C1 = str
Range("N2").FormulaR1C1 = "=IF(ISNUMBER(SEARCH(""" & str & """, RC[-2]:R[4545]C[-2])), ""yes"", ""no"")"
Range("N2").AutoFill Destination:=Range("N2:N4547")
Range("N4555").FormulaR1C1 = "=COUNTIF(R[-4553]C:R[-8]C, ""yes"")"
End Sub
你说的“突出”是什么意思?如果编辑单元格,VBA将处于暂停状态。此外,您还应该显示您的代码,并详细说明哪些代码不起作用。请检查编辑。我希望宏应用于我高亮显示的任何单词。正如@DirkReichel所说的,“高亮显示”是什么意思?你是否正在编辑一个单元格,你在那个单元格的文本中“选择”一个单词(在这种情况下,你不能在那个时候运行一个宏),还是仅仅意味着你在选择一个包含单词的单元格?我想:1。选择包含字符串2的单元格。按宏键3。让宏创建新列,命名该字符串的第一行,选中其他框查看它是否包含该字符串,等等。谢谢!相反,我在VBA中创建了一个数组,然后对每个列表项执行宏操作。非常感谢!那正是我要找的!所以我寻找的逻辑是“Selection.Value”部分,我在网上根本找不到。