您能帮我解决这个问题吗:“如何从ms excel中的某个单元格中跳出n个单元格(向下/向上/向右/向左),其中n是整数”。
我想创建一个宏,如果我运行该宏,则会打开一个窗口,并显示四个选项,如图所示。假设最初选择了B3,然后在输入中键入6并单击“下面”按钮,则B9将被选择。
我已经在Excel中尝试了很多选项,但无法弄清楚,而且我对vba还是很陌生。
对不起,我的英语不好,请帮忙,谢谢!
答案 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
很明显,您可以同时跳转行和列。