我创建一些表,并在输入数据时进行日期戳
在“ A”列中,日期显示在“ E”列中,所以我知道何时输入数据。
我在“ F”列中放置了复选框,但我需要下一个帮助:
我希望有人会帮助我,因为我卡住了:(
我还攻击了屏幕截图。
预先感谢
答案 0 :(得分:0)
这些步骤将帮助您使宏正常运行,并确保您在工作簿的副本上尝试使用代码
添加命令按钮(ActiveX控件)并粘贴宏 注意:您需要确保将“命令按钮”放置在具有复选框的工作表中。
步骤1: 复制“ LoopCkBoxesAddDateStampClrCelsCopy()”宏
Sub LoopCkBoxesAddDateStampClrCelsCopy()
Dim lRow As Long
Dim CkBx As OLEObject
'For/Next loop cycles through all checkboxes in worksheet
For Each CkBx In ActiveSheet.OLEObjects
lRow = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row
'If the checkbox is checked then accomplish the lines of code between the If/End If
'The part after the "And" ensures that if a date is in the cell it will not be over written
If CkBx.Object.Value = True And CkBx.TopLeftCell.Offset(, 1).Value = "" Then
'Next line of code puts the date in first cell to left of the checkbox
CkBx.TopLeftCell.Offset(, 1).Value = Format(Date, "mm-dd-yyyy")
'Next line of code colors the first 4 cells in checkboxs' row
CkBx.TopLeftCell.Offset(, -5).Resize(, 4).Interior.Color = vbRed
'Next line of code copies the first 3 cell in the checkbox row to the first empty row on sheet 2
Sheet2.Cells(lRow, 1).Offset(1).Resize(, 3).Value2 = CkBx.TopLeftCell.Offset(, -5).Resize(, 3).Value2
End If
Next CkBx 'loops to the next checkbox
End Sub
注意:如果您打算将单元格粘贴到其他工作表,请在代码中更改两个Sheet2。
步骤2: 在“开发人员”选项卡上的“控件”组中,单击“插入”,然后在“ ActiveX控件”下,单击“命令按钮”。
步骤3: 单击您希望命令按钮出现的工作表位置。
第4步: 右键单击该按钮,然后单击“查看代码”。这将启动Visual Basic编辑器。
第5步: 在VBE中,突出显示Private Sub CommandButton1_Click()和End Sub,然后粘贴宏
步骤6: 关闭Visual Basic编辑器,然后单击“设计模式按钮”图像以确保关闭设计模式。
步骤7: 选中工作表中的复选框,然后单击按钮以运行宏