Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vba从单元格向后移动_Vba_Excel - Fatal编程技术网

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
是一个
范围
,而不是一个值?