Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
Vba 不同工作表上批准的命令按钮_Vba_Excel_Excel 2007_Commandbutton - Fatal编程技术网

Vba 不同工作表上批准的命令按钮

Vba 不同工作表上批准的命令按钮,vba,excel,excel-2007,commandbutton,Vba,Excel,Excel 2007,Commandbutton,我现在正在尝试创建一个审批流程,为了实现这一点,我有一个摘要表,其中显示了当前报价的详细信息,然后是一个详细表,我在其中记录了批准的内容。当前,您在第二张工作表(报价详细信息)中键入报价信息,然后审批人可以查看下拉框,以查看打开的内容和需要审批的内容。我的一切工作正常,除了,我需要审批人单击一个按钮,它会将审批人的用户名和日期发送到“报价详细信息”选项卡上的相应单元格。我已经在H1中创建了一个键,它将允许代码找到正确的行,即offer details页面上的B列与H1中Summary选项卡中的内

我现在正在尝试创建一个审批流程,为了实现这一点,我有一个摘要表,其中显示了当前报价的详细信息,然后是一个详细表,我在其中记录了批准的内容。当前,您在第二张工作表(报价详细信息)中键入报价信息,然后审批人可以查看下拉框,以查看打开的内容和需要审批的内容。我的一切工作正常,除了,我需要审批人单击一个按钮,它会将审批人的用户名和日期发送到“报价详细信息”选项卡上的相应单元格。我已经在H1中创建了一个键,它将允许代码找到正确的行,即offer details页面上的B列与H1中Summary选项卡中的内容相匹配

我有下面写的代码,但它不起作用。用户名需要进入报价明细表M列的单元格(一旦根据摘要中的键找到正确的行)。它必须是硬编码的,所以我可以保留它用于审计目的

如果这不合理,让我知道,我会努力澄清

谢谢大家!

Private Sub CommandButton1_Click()
Dim rng As Range
Dim cell As Object
With Sheets("Offer Details")
    Set rng = Sheets("Offer Details").Range("B1:B1000")
    For Each cell In rng
        If cell.Value = Sheets("Offer Details").Cells(1, 8) Then
            cell.Offset(0, 12).Value = Environ("USERNAME")
            Exit For
        End If
    Next
 End With
End Sub

如果每次都需要使用Colu“M”,则可以根据您的代码执行此操作:

Private Sub CommandButton1_Click()
Dim rng As Range
Dim cell As Object
Dim inc as Integer
With Sheets("Offer Details")
    Set rng = .Range("B1:B1000")
    For Each cell In rng
        inc = inc + 1
        If cell.Value = .Cells(1, 8) Then
           .Range("M" & inc) = Environ("USERNAME")
            Exit For
        End If
    Next
 End With
End Sub

单元格
将位于列
B
中。如果你将其偏移12列,那不是列
N
?另外,由于您将
用于工作表(“提供详细信息”)
,因此在
With
语句中,您无需重复该语句。您只需使用前导的
,即
设置rng=.Range(“B1:B1000”)
。由于某些原因,它仍然不起作用。当我按下按钮时,什么也没发生。有什么建议吗?没关系,我只是指定了工作表,它起作用了。非常感谢你!不客气。如果问题解决了,反应也很好,你能标出答案吗?