返回与活动单元格相同的行中的单元格和VBA中选择的第一列

时间:2017-01-01 16:18:30

标签: vba excel-vba excel

提前感谢您的帮助。我是VBA的新手,我需要选择一个activecell的行标题 - 基本上构建这个代码,这在VBA中似乎不起作用:

Dim C as range ("I4")
Dim R as C.CurrentRegion
cells(C.row,R.Columns(1)).Select

我无法使用C.End(xlToLeft),因为我左边有另一个表格,虽然有一个空白列分隔了2个表格,但此代码会跳转到左侧的表格。此外,我的表的第一列不是A,我不能硬编码列号。 非常感谢您的帮助! 西尔维娅

1 个答案:

答案 0 :(得分:2)

从你在帖子中可以理解的那个小点开始,我猜你是在追求

Intersect(ActiveCell.EntireRow, ActiveCell.CurrentRegion.Columns(1)).Select

ActiveSheet.Cells(ActiveCell.row, ActiveCell.CurrentRegion.Columns(1).Column).Select

不使用“帮助”range变量(例如您的CR

如果您需要使用它们,那么两种选择将成为:

Set C = ActiveCell
Set R = C.CurrentRegion
Intersect(C.EntireRow, R.Columns(1)).Select

Set C = ActiveCell
Set R = C.CurrentRegion
ActiveSheet.Cells(C.row, R.Columns(1).Column).Select

但无论如何你最好不要选择任何东西而只是:

  • 将其设置为某个range变量:

    Dim myCell as Range
    
    set myCell = Intersect(ActiveCell.EntireRow, ActiveCell.CurrentRegion.Columns(1))
    
  • 然后使用

    myCell.Font.ColorIndex = 3