我需要帮助将范围转换为可用的字符串。我不是 100% 确定我需要什么,因为我几乎没有 VBA 或 VB.NET 经验,但最终我想采用一堆像B32to一样的单元格,并在- (作为 y 值)和(作为 x值)J52上执行 linest 函数价值)。CJB
我想如果我能学会弹出一个字符串,上面写着“ "Bxx:Jyy"Then”,我就能告诉它“do” linest(Cxx:Cyy, Bxx:Byy, true, false)。
有没有更简单的方法来做到这一点?不管怎样,我现在所拥有的只是一些从用户那里获取范围的代码(刚刚从谷歌获得)。如果有人可以帮我获取如上所述的字符串,我想我可以处理其余的事情。
Dim oRangeSelected As Range
Set oRangeSelected = Application.InputBox("Please select a range of cells!", _
"SelectARAnge Demo", Selection.Address, , , , , 8)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您需要用户选择的范围(而不是预先存在的选择),因此
MsgBox oRangeSelected.Address
Run Code Online (Sandbox Code Playgroud)
[更新] 实际上,更仔细地阅读您的问题,您可以按原样使用 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43139 次 |
| 最近记录: |