每次单击按钮时都能够选择下一个单元格Excel VBA
下面是我目前使用的代码,我可以单击该按钮,每次单击该按钮时,单元格选择会向下移动1 我需要的是在F3上开始选择,然后选择直到F35左右,但是当我选择范围时,它不会逐个选择单元格。每次单击按钮时都能够选择下一个单元格Excel VBA
这里是我的代码:
Dim rng As Range
Dim row As Range
Dim cell As Range
Set rng = Range("F2")
rng.Select
For Each row In rng.Rows
For Each cell In row.Cells
ActiveCell.Offset(1, 0).Select
Next cell
Range("G66") = ActiveCell
Next row
,如果你有一个Form
按钮叫Button1
然后将其附加一个名为Button1_Click()
子(或什么,但与附加分的名称一致),并将以下代码中的任何模块中:
Option Explicit
Dim notFirst As Boolean
Dim rng As Range
Sub Button1_Click()
If notFirst Then
If rng.row = 35 Then
MsgBox "Sorry: you've already reached last valid cell in column F"
Exit Sub
Else
Set rng = rng.Offset(1)
End If
Else
Set rng = Range("F3")
notFirst = True
End If
Range("G66").Value = rng.Value
End Sub
如果有一个ActiveX
按钮称为Button1
然后写入相同的代码如上述其薄片代码窗格
谢谢!它似乎有点工作。虽然添加代码后,它只添加第一电子邮件地址在G66。当我再次点击按钮它不会去到下一个电子邮件。它说不是第一个是空的 –
你在说什么电子邮件?没有电子邮件跟踪你的问题代码 – user3598756
对不起,它显示的价值而不是电子邮件)在G66.When我再次点击按钮它不会去下一个值。 –
您正在尝试移动活动单元格?换句话说,你使用单元格'F3'激活宏来运行宏,当你运行它时,你只需要'F4'是活动的?你对活动单元做什么?最好避免使用['.Select' /'.Activate'](https://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)。除了选择一个单元外,你的循环并没有做任何事情。你可以完全跳过它,因为最后你做'Range(“G66”)= ActiveCell' ... – BruceWayne
那么基本上im循环通过电子邮件地址,以便它所在的每个活动单元格将显示在单元格G66上。 我的目标是点击一个按钮,然后点击下一个按钮,在一个范围内向下移动单元格。 –
你的最终目标是什么?只需简单地在'G66'中显示一个电子邮件地址?这应该在1秒内运行,所以所有的电子邮件地址仅可见*秒* – BruceWayne