从某个单元格中跳出n个单元格(向下/向上/向右/向左)

时间:2019-04-04 07:33:56

标签: excel vba

您能帮我解决这个问题吗:“如何从ms excel中的某个单元格中跳出n个单元格(向下/向上/向右/向左),其中n是整数”。

question figure

我想创建一个宏,如果我运行该宏,则会打开一个窗口,并显示四个选项,如图所示。假设最初选择了B3,然后在输入中键入6并单击“下面”按钮,则B9将被选择。

我已经在Excel中尝试了很多选项,但无法弄清楚,而且我对vba还是很陌生。

对不起,我的英语不好,请帮忙,谢谢!

2 个答案:

答案 0 :(得分:0)

以下代码从C4获取输入值。

它用于向下编程,类似地,您可以在列的右侧或左侧进行操作

Sub Program_Down()

    Dim wb As Workbook
    Dim ws As Worksheet
    Dim Lastrow As Long
    Dim Str1 As String
    Set wb = ThisWorkbook
    Set ws = wb.Worksheets("Sheet1")

    inputval = ws.Range("C4").Value

    Set inputadd = ws.Range("C4")

    Addres = inputadd.Address
    Set Rng = ws.UsedRange
    For Each c In Rng
        If Len(c.Value) > 0 Then
            If c.Address <> inputadd.Address Then
                Row1 = c.Row
                col = c.Column
                Value = c.Value
                ws.Cells(inputval + Row1, col).Value = Value
                c.Value = ""
                Exit For
            End If
        End If

    Next

    End Sub

答案 1 :(得分:0)

您需要使用Offset()函数:

ActiveCell.Offset(1 ,0).Activate // jump one row futher
ActiveCell.Offset(-1,0).Activate // jump one row back
ActiveCell.Offset(0 ,1).Activate // jump one column further
ActiveCell.Offset(0,-1).Activate // jump one column back

很明显,您可以同时跳转行和列。