如何从宏中选择单元格

时间:2009-01-23 16:53:33

标签: excel vba excel-vba

这应该很简单,不知道我为什么遇到这个麻烦..... 在用户输入数据的数据输入范围中,表单的“左”和“右”侧。并非所有给定行中的数据都必须填写。我想创建一个宏(并将其分配给热键IE ctrl-z),这样如果它被命中,它将把活动单元定位在当前行和列“X”。换句话说,按下ctrl-Z将导致光标跳转到“X”列

5 个答案:

答案 0 :(得分:1)

在这种情况下,列“x”实际上是列E:

Sub ToColE()
    Const colE = 5
    Dim offset As Integer
    offset = colE - ActiveCell.Column
    ActiveCell.offset(rowOffset:=0, columnOffset:=offset).Activate
End Sub

答案 1 :(得分:1)

以下任何一种陈述都应该起作用。从“工具”菜单中指定宏快捷方式 - >宏。

Public Sub SelectStuff()
    Cells(3, 5).Select
    Rows(17).Select
End Sub

答案 2 :(得分:1)

试试这个

Sub MoveLeftOnForm()
    Dim rn As Integer
    rn = ActiveCell.Row
    Range("B" & rn).Select
End Sub

它假设B是表格中最左边的列。

答案 3 :(得分:0)

此代码应该为您完成:

Public Sub SetUpKeyboardShortcut()
    Application.OnKey "^z", "SelectColInSelectedRow"
End Sub

Public Sub SelectColInSelectedRow()
    Const ColToSelect = "X"
    Range(ColToSelect & CStr(Selection.Row)).Select
End Sub

只需在ThisWorkbook模块的Workbook_Open事件中调用SetUpKeyboardShortcut。我相信上面的代码需要存储在标准模块中。

希望有帮助...

答案 4 :(得分:0)

这将有效:

Public Sub go()
Cells(ActiveCell.Row, 5).Activate
End Sub

只需将“5”替换为您想要的任何列号。您应该可以从宏菜单上的选项中分配ctrl + z热键。