excel,vba中如何选中与当前选中单元格同行的第八个单元格

excel,vba中如何选中与当前选中单元格同行的第八个单元格,第1张

Sub test()

Dim Rng As Range

Set Rng = Selection

RngResize(1, 8)Select

End Sub

这是选择当前选中单元格同行的八个单元格,包括原来的当前单元格

如果不包括原来的单元格

代码修改如下

Sub test()

Dim Rng As Range

Set Rng = Selection

Rngoffset(,1)Resize(1, 8)Select

End Sub

如果是按当前单元格向右第8个单元格

Sub test()

Dim Rng As Range

Set Rng = Selection

Rngoffset(, 8)Select

End Sub

如果是固定H列,代码如下

Sub test()

Dim i%

i = SelectionRow

Cells(i, 8)Select

End Sub

或直接用

Sub test()

Cells(SelectionRow, 8)Select

End Sub

VBA讲的是逻辑,那么从逻辑上来说

单元格的位置可以作为坐标来反馈,故可以使用Cells(SelectionRow, SelectionColumn)来确定当前光标所处的坐标,但这仅仅局限于一个单元格,cells(r,c)分别为行号和列号,通过坐标来判断光标所处位置。同样的,如果用cells(r,c+1)则可以 *** 作光标所处单元格的右数1个单元格的属性,并且在 *** 作右侧单元格时光标依然在当前的单元格上,所以如果下一条命令是cells(r+1,c)则可 *** 作下方相邻单元格,举个例子就是如果cells(r,c)是A1,cells(r,c+1)就是B1,cells(r+1,c)是A2

那么只要让textbox的值 = Cells(SelectionRow, SelectionColumn)Value 即=cells(r,c)的值,就可以让textbox显示出当前光标所处单元格的值。也就是无论你光标移动到哪里,窗体都能显示出光标所处的单元格的值

最后,你提到的“右击”,VBA无法判断左击还是右击,但无论你怎么击都属于“选中 or 激活”这个 *** 作,所以 无论你左击还是右击某个单元格,Cells(SelectionRow, SelectionColumn)都能指出当前激活单元格的坐标。

大神写个例子截图给你看看

附上公式和vba红代码

=SUMPRODUCT(OFFSET($B$3,0,0,ROW()-ROW($B$3),1),OFFSET($C$3,0,0,ROW()-ROW($C$3),1))

Sub GetDaySum()

Dim ish As Object

Dim i As Integer

Dim j As Integer

i = 2

For Each ish In ThisWorkbookSheets

If ishName <> "汇总" Then

ThisWorkbookSheets("汇总")Cells(i, 1) = ishName

j = ThisWorkbookSheets(ishName)[A:A]Find("当日销售额统计", , , xlByRows, xlPrevious)Row

ThisWorkbookSheets("汇总")Cells(i, 2) = ThisWorkbookSheets(ishName)Cells(j, 2)

i = i + 1

End If

Next

End Sub

以上就是关于excel,vba中如何选中与当前选中单元格同行的第八个单元格全部的内容,包括:excel,vba中如何选中与当前选中单元格同行的第八个单元格、VBA中如何获取当前鼠标位置、VBA 截取和Sheet名等于当前选中单元格的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9612713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存