Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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 - Fatal编程技术网

Vba 如何通过双击一张图纸的特定单元格将数据复制到另一张图纸

Vba 如何通过双击一张图纸的特定单元格将数据复制到另一张图纸,vba,excel,Vba,Excel,我正在用excel中的宏写下我想做的事情的要求: 我有一份包含4张工作表的工作簿: 用于保存数据库的源表、用于发送数据库产品以进行计算的目标表、结果表和信息表 如果用户双击所属的源代码表单元格 A列,例如A8,则单元格A8至F8的数据应复制到目标表的单元格C18至H18,源表的单元格J8应复制到目标表的单元格B18。如果目标工作表的单元格B18至H18被占用,则应将数据复制到下一行。 如果用户双击源代码表中不存在的单元格 属于A列,不应发生任何事情 如果用户双击任何其他工作表,则不会再次发生任

我正在用excel中的宏写下我想做的事情的要求:

  • 我有一份包含4张工作表的工作簿: 用于保存数据库的源表、用于发送数据库产品以进行计算的目标表、结果表和信息表
  • 如果用户双击所属的源代码表单元格 A列,例如A8,则单元格A8至F8的数据应复制到目标表的单元格C18至H18,源表的单元格J8应复制到目标表的单元格B18。如果目标工作表的单元格B18至H18被占用,则应将数据复制到下一行。
  • 如果用户双击源代码表中不存在的单元格 属于A列,不应发生任何事情
  • 如果用户双击任何其他工作表,则不会再次发生任何情况
我遇到的问题是上面用粗体字母写的那个。我知道我必须确保使用以下各项:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

End Sub
因此,我在源代码表中尝试了如下内容(但没有成功:()


我是vba新手,希望您能提供帮助。请提前感谢。

您需要测试是否在A:A范围(=第1列)内双击

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Range("ActiveCell:(ActiveCell.Offset(0, 5))").Copy Worksheets("TargetSheet ").Range("C2:G2")
    ActiveCell.Offset(0, 9).Copy Worksheets("TargetSheet ").Range("B18")
End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

    If ActiveCell.Column = 1 Then
        MsgBox "Double click on A:A range."
    End If
End Sub