如何开始我的macros,我点击而不是设置单元格
反正有我的macro
开始突出或select一个empty cell
而不是总是把数据放在同一范围内? 我知道如何编辑代码本身只是不知道是否有一个不同的function,我可以使用,而不是通过使用特定的单元格位置设置范围石头。
我想让macros开始,我突出显示….无论是单个单元格还是突出显示4或5,并使macros在4或5内运行。
Sub macroforme() ' ' macrowork Macro ' Range("H19").Select ActiveCell.FormulaR1C1 = "Legacy" Range("H18").Select ActiveCell.FormulaR1C1 = "Field Service" Range("H17").Select ActiveCell.FormulaR1C1 = "Supply Chain" Range("H16").Select ActiveCell.FormulaR1C1 = "Engineering" Range("H15").Select ActiveCell.FormulaR1C1 = "Sales" Range("I15").Select Columns("H:H").ColumnWidth = 11.71 Range("I15").Select ActiveCell.FormulaR1C1 = "=SUMIF(C[-5],Legacy)" Range("I15").Select ActiveCell.FormulaR1C1 = "=SUMIF(C[-5],""Sales*"",C[-8])" Range("I16").Select ActiveCell.FormulaR1C1 = "sumif" Range("I16").Select ActiveCell.FormulaR1C1 = "=SUMIF(C[-5],Engineering)" Range("I16").Select ActiveCell.FormulaR1C1 = "=SUMIF(C[-5],""Engineering"",C[-8])" Range("I17").Select ActiveCell.FormulaR1C1 = "=SUMIF(C[-5],""Supply Chain"",C[-8])" Range("I18").Select ActiveCell.FormulaR1C1 = "=SUMIF(C[-5],""Field Service"",C[-8])" Range("I19").Select ActiveCell.FormulaR1C1 = "=SUMIF(C[-5],""Legacy"",C[-8])" Range("I20").Select End Sub
将下面的代码粘贴到工作表中(在macros编辑器中,双击要执行此代码的工作表,然后粘贴它)。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Target.Offset(0, 0).FormulaR1C1 = "Legacy" Target.Offset(-1, 0).FormulaR1C1 = "Field Service" Target.Offset(-2, 0).FormulaR1C1 = "Supply Chain" Target.Offset(-3, 0).FormulaR1C1 = "Engineering" Target.Offset(-4, 0).FormulaR1C1 = "Sales" Target.ColumnWidth = "11.71" 'Next Column Target.Offset(-4, 1).FormulaR1C1 = "=SUMIF(C[-5],""Legacy*"",C[-8])" Target.Offset(-3, 1).FormulaR1C1 = "=SUMIF(C[-5],""Engineering"",C[-8])" Target.Offset(-2, 1).FormulaR1C1 = "=SUMIF(C[-5],""Supply Chain"",C[-8])" Target.Offset(-1, 1).FormulaR1C1 = "=SUMIF(C[-5],""Field Service"",C[-8])" Target.Offset(0, 1).FormulaR1C1 = "=SUMIF(C[-5],""Legacy"",C[-8])" End Sub
这将做你的硬编码的代码将做同样的事情,但它会执行一个单元格的双击。 本例中的Target
是您双击的单元格。 偏移会移动您指定的行数和列数。 所以在行Target.Offset(-4, 1).FormulaR1C1 = "=SUMIF(C[-5],""Legacy*"",C[-8])"
这是说移动1列和4行,然后坚持公式。
如果删除选定的行,它将在当前选定的单元格(activecell)
所以
activecell.value = "This is the current cell"
将键入这是您select的单元格中的当前单元格 。
你如何处理多个单元格取决于你正在尝试做什么,因为在这里你有一组独立的单元格执行一系列的行动。
如果要将所有选中的单元格设置为相同的值,则可以使用
selection.value = "These are the current cells"
select也适用于大多数事情select1个单元格。