Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何制作一个按钮,将信息放置在不同的工作表中?_Excel_Vba - Fatal编程技术网

Excel 如何制作一个按钮,将信息放置在不同的工作表中?

Excel 如何制作一个按钮,将信息放置在不同的工作表中?,excel,vba,Excel,Vba,我正在尝试创建一个时间跟踪器,用于跟踪员工在任何给定任务上的时间。我想对它进行设置,使开始和停止时间的按钮位于第一张图纸上,而生成的实际数据位于下一张图纸上。我的代码是有效的,但它只是把数据和按钮放在同一张表中。以下是我所拥有的: Sub StartBooking() Dim lr As Long lr = Range("a" & Rows.Count).End(xlUp).Row Range("a" & lr + 1).Formula = "=now()" Range("b"

我正在尝试创建一个时间跟踪器,用于跟踪员工在任何给定任务上的时间。我想对它进行设置,使开始和停止时间的按钮位于第一张图纸上,而生成的实际数据位于下一张图纸上。我的代码是有效的,但它只是把数据和按钮放在同一张表中。以下是我所拥有的:

Sub StartBooking()

Dim lr As Long
lr = Range("a" & Rows.Count).End(xlUp).Row
Range("a" & lr + 1).Formula = "=now()"
Range("b" & lr + 1) = "Booking"
Range("c" & lr + 1) = "Start"
Range("a" & lr + 1).Select
Selection.Copy
Range("d" & lr + 1).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats 

End Sub

我知道这非常简单,所以让我添加一个免责声明。我对excel vba的任何知识都是完全自学的。我对编码还不熟悉(这是我的第一个项目),我觉得它很有趣,但我有点不知所措。请帮忙

默认情况下,数据放在
ActiveSheet
上。您需要显式调用要将数据放入其中的工作表。可以通过调用工作表的特定名称或工作表的索引位置来执行此操作。索引位置是图纸相对于其他图纸的当前位置

Sub StartBooking()

    Dim lr As Long
    lr = Range("a" & Rows.Count).End(xlUp).Row
    Sheets(2).Range("a" & lr + 1).Formula = "=now()"
    Sheets(2).Range("b" & lr + 1) = "Booking"
    Sheets(2).Range("c" & lr + 1) = "Start"
    Sheets(2).Range("a" & lr + 1).Select
    Selection.Copy
    Sheets(2).Range("d" & lr + 1).Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats 

End Sub

您也可以使用类似于
Sheets(“数据表”)

的名称来调用工作表,谢谢您为我指明了正确的方向。它适用于前三种情况,但在复制时间戳以粘贴其值时,会给我一个400错误。我只需要去掉选择部分,以便复制粘贴的最终代码仅为sheets(2).range(“a”&lr+1).复制并粘贴值。再次感谢!