vba从单元格向后移动
我在一列中有一个值,vba从单元格向后移动,vba,excel,Vba,Excel,我在一列中有一个值,MyValue,我想循环查看前面的n行。函数Calc有两个参数:Calc(MyValue,n)。它大致如下:{很遗憾,关于行和列的Debug.Print是空的。Hi显示。} Function Calc (MyValue, n) Dim Copyrange As String Dim rng As Range Dim cell As Range Dim MyCol, MyRow, Startrow, Lastrow Debug.Print
MyValue
,我想循环查看前面的n
行。函数Calc有两个参数:Calc(MyValue,n)
。它大致如下:{很遗憾,关于行和列的Debug.Print是空的。Hi显示。}
Function Calc (MyValue, n)
Dim Copyrange As String
Dim rng As Range
Dim cell As Range
Dim MyCol, MyRow, Startrow, Lastrow
Debug.Print "Hi"
Range(Valuex).Select
MyCol = Split(Selection.Address, "$")(1)
MyRow = Split(Selection.Address, "$")(2)
Debug.Print "Row is : " & MyRow
Debug.Print "Col is : " & MyCol
Startrow = MyRow - n + 1
Lastrow = MyRow
Let Copyrange = MyCol & Startrow & ":" & MyCol & Lastrow
Range(Copyrange).Select
Set rng = Application.Selection
….xxxxxxxxxxxxxxxxxx
Some loop with rng
Calc = xxxxxxxxx
End Function
我不确定我是否理解您的代码,但我会这样写:
Function Sample(rngStart As Range, nbRows As Long)
Dim i As Long
For i = 0 To rngStart
With rngStart.Offset(-i, 0)
Debug.Print .Address, .Value
End With
Next i
End Function
使用
选项Explicit
作为模块的第一行,然后编译。不定义变量肯定会弄乱代码。什么是Valuex
??您能给我们展示一个选择的示例行吗。地址
?请不要忽略@iDevlop的推荐。你迟早会后悔的。我想MyValue
是一个范围
,而不是一个值?