当前正在尝试创建一个宏,该宏在列中填充数字1至10,并一直重复到my语句的末尾。这就是我的想法:

按一下按钮,数字将从第3行开始,数到10。一旦完成,就会重复到最后。我以前做过一个变体--这个程序为10行创建了1的重复,对接下来的10行重复了2,等等:
Sub fill()
Dim ID
ID = 1
For c = 1 To 34
ActiveWorkbook.Sheets("Sheet1").Cells(c + 2, 1) = ID
ActiveWorkbook.Sheets("Sheet1").Cells(c + 3, 1) = ID
c = c + 1
If (c Mod 10) = 0 Then
ID = ID + 1
End If
Next c
End Sub如果我想把它转换成计数1-10,然后重复,需要改变什么。我想重复使用这段代码,并对公式做一些修改。
发布于 2017-10-25 02:22:49
下面是一个懒惰的方法的例子。
Sub Macro1(offsetIn As Integer, colIn As Integer)
offset = offsetIn - 1
Column = colIn
For c = 1 To 34
ActiveWorkbook.Sheets("Sheet1").Cells(c + offset, colIn) = c Mod 10
If (c Mod 10 = 0) Then
ActiveWorkbook.Sheets("Sheet1").Cells(c + offset, colIn) = 10
End If
Next c
End Sub至于如何让这个宏在单击时触发。您可以这样做:此代码需要进入您的工作表代码。即右击工作表图标,然后单击“查看代码”。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rInt As Range
Dim rCell As Range
Set rInt = Intersect(Target, Range("A1:P312"))
If Not rInt Is Nothing Then
Call Macro1(rInt.Row, rInt.Column)
End If
Set rInt = Nothing
Set rCell = Nothing
Cancel = True
End Sub编辑:这应该适用于任何双击范围内的任何单元格(“A1:P 312”)。
https://stackoverflow.com/questions/46922796
复制相似问题