将范围转换为VBA中的string

我需要帮助将范围转换为可用的string。 我不是100%确定我需要什么,因为我有一点VBA或VB.NET的经验,但最终我想拿一堆像B32J52单元格,并在CJ上执行linest函数(作为y值)和B (作为x值)。

我想如果我能学会popup一个string"Bxx:Jyy"然后我可以告诉它linest(Cxx:Cyy, Bxx:Byy, true, false)

有没有更简单的方法来做到这一点? 无论如何,我现在所拥有的只是从用户那里获得范围的一些代码(刚刚从Google获得)。 如果有人能够像上面所说的那样帮我弄清楚string,我想我可以pipe理其余的。

 Dim oRangeSelected As Range Set oRangeSelected = Application.InputBox("Please select a range of cells!", _ "SelectARAnge Demo", Selection.Address, , , , , 8) 

在这种情况下,您希望用户select范围(不是预先存在的select),所以

 MsgBox oRangeSelected.Address 

[更新]其实,仔细阅读你的问题,你可以像使用LINEST那样使用范围,也就是说,这个子类获得X和Y的用户范围,然后提供LINEST。 结果存储在一个数组MyArr中,该数组可以返回给用户。

 Sub Sample() Dim oRangeSelected1 As Range Dim oRangeSelected2 As Range Dim myArr() Set oRangeSelected1 = Application.InputBox("Please select a X range of cells!", "Select X Demo", Selection.Address, Type:=8) Set oRangeSelected2 = Application.InputBox("Please select a Y range of cells!", "Select Y Demo", , Type:=8) If oRangeSelected1.Columns.Count + oRangeSelected2.Columns.Count > 2 Then MsgBox "Please select a single column range only" Exit Sub End If If oRangeSelected1.Cells.Count <> oRangeSelected2.Cells.Count Then MsgBox "Ranges are of different length" Exit Sub End If myArr = Application.WorksheetFunction.LinEst(oRangeSelected1, oRangeSelected2) MsgBox "slope is " & Format(myArr(1), "0.00") & " & intercept is " & Format(myArr(2), "0.00") End Sub 

如果您使用Selected.Address将显示您的范围作为一个string。