Cells属性 – 运行时错误91

所以,我试图创build子过程,其中一个参数是列名称。

列名然后转换为列号。

Dim ColNum As Integer: ColNum = Range(ColumnNM & 1).Column 

但是当我尝试使用范围内的列号,与单元格属性我得到91运行时错误。 这里的大部分解决scheme都是为了不正确地设置范围。

运行时错误91

这里给我这个错误:

 Dim rngTA As Range: Set rngTA = wsTA.Range(Cells(24, ColNum)) 

和这(试验,不知道这是否正确的方式来设置范围与string地址)

 Dim addr As String: addr = Cells(24, ColNum).Address(RowAbsolute:=False, ColumnAbsolute:=False) Dim rngTA As Range: Set rngTA = wsTA.Range(addr) 

我卡在那里。

谢谢。

你不需要RangeCells()是一个范围对象:

 Dim rngTA As Range: Set rngTA = wsTA.Cells(24, ColNum) 

Range使用范围对象时,需要有两个开始和一个结束。 既然你只需要一个,就直接引用。

你不需要一个模块,你可以使用匹配,不过,这里是一个函数:

 Function Letter(oSheet As Worksheet, name As String, Optional num As Integer) If num = 0 Then num = 1 Letter = Application.Match(name, oSheet.Rows(num), 0) 'Letter = Split(Cells(, Letter).Address, "$")(1) End Function 

此处的名称是列标题的名称,oSheet是表格的名称,如果您正在search的行不是1,则可以使用一个可选variables作为数字。如果删除引号,则可以获得该字母,而不是数字。