我陷入了函数()和子()的死胡同。我的代码:
sub test()
Dim Firstrow, FirstCol As Integer
Workbooks("wb").Activate
Workbook(1).Worksheet(1).Select
FirstRow = 16
FirstCol = 20
LastCell = FindLastcell(FirstRow,FirstCol) 'LastCell is in "RiCj" format
FirstCell = Cells(FirstRow, FirstCol).Address(ReferenceStyle:=xlR1C1) 'FirstCell is in "RiCj" format
RngSelect = Range(FirstCell, LastCell).Select 'Range Method has failed. Obvious. See [1]
[more code to copy as text on Notepad the selection]
End Sub
现在我的功能:
Public Function FindLastCell(ByVal int1 As Integer, ByVal int2 As Integer) As Variant ' what kind of return dim shall I choose ?
' find first empty cell in a range and return its adress
LastRow = Cells(Rows.Count, int1).End(xlUp).Row
LastCol = Cells(int2, Columns.Count).End(xlToLeft).Column
FindLastCell = Cells(LastRow, LastCol).Address(ReferenceStyle:=xlR1C1)
End Function
在尝试了许多变体之后,我无法得到想要的结果。最好的实际上是:
- 我的函数将返回一个整数列表或数组,以用作这种样式的单元格地址 Cells(int1,int2)
在我的 sub() 中,写这样的东西:
RngSelect = Range(Cells(i,j),Cells(k,l)).Select
我不知道如何在我的函数中或在我的子错误中实现这种 whitout 触发。
[1] http://msdn.microsoft.com/en-us/library/office/ff838238.aspx如果使用文本参数作为范围地址,则必须以 A1 样式表示法指定地址(不能使用 R1C1式表示法)。
谢谢你的帮助。