在VBA指针

有没有像VBA中的指针?

我试图做一个macros的macros,并希望一个简单的variables来跟踪列数。 wst.UsedRange.Columns.Count占用了大量的空间,每当我需要它时,我只想用last_col这样的简单名称replace它。

在你的情况下(或者除了特殊情况以外的其他情况) 都有用,但为什么呢?

 public function ccount() as long ccount = wst.UsedRange.Columns.Count end function 

或者将全局variables引用设置为wst.UsedRange.Columns并根据需要读取var.count

在大多数情况下,我不是UsedRange的粉丝。 如果你要创build一个被其他macros反复使用的函数,我会倾向于这个语法,它find最后一列中有一个实际的值。

 Private Function LastCOL(ws As Worksheet) As Long With ws LastCOL = .Cells.Find("*", .Cells(.Rows.Count, .Columns.Count), _ SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column End With End Function Private Function LastROW(ws As Worksheet) As Long With ws LastROW = .Cells.Find("*", .Cells(.Rows.Count, .Columns.Count), _ SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Row End With End Function 

然后你的其他macros可以通过简单地给macros提供一个图表引用来调用它:

 Sub RowTest() On Error Resume Next 'in case the sheet is empty LR = LastROW(ActiveSheet) Debug.Print LR End Sub