Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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,我有3张纸和1张母版纸。 我想把master中的单元格数据复制到其余的工作表中。 总是出现“运行时错误1004”。有人能帮忙吗 Private子工作表\u更改(ByVal目标作为范围) Dim ws As工作表 设置ws=ThisWorkbook.Sheets(“主控”) 将列名称设置为字符串 columnName=Split(ActiveCell.Address,“$”)(1) Sheets.FillCrossSheets ws.Range(columnName&ActiveCell.Row)

我有3张纸和1张母版纸。 我想把master中的单元格数据复制到其余的工作表中。 总是出现“运行时错误1004”。有人能帮忙吗

Private子工作表\u更改(ByVal目标作为范围)
Dim ws As工作表
设置ws=ThisWorkbook.Sheets(“主控”)
将列名称设置为字符串
columnName=Split(ActiveCell.Address,“$”)(1)
Sheets.FillCrossSheets ws.Range(columnName&ActiveCell.Row),xlFillWithAll
末端接头

应将所有工作表分配给数组,并且要填充的范围必须来自数组中的工作表。请尝试此操作

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ws As Worksheet
    Dim shtArray As Variant
    shtArray = Array("Master", "Sheet1", "Sheet2", "Sheet3")
    Set ws = ThisWorkbook.Sheets("Master")
    Sheets(shtArray).FillAcrossSheets Target

    'Dim columnName As String
    'columnName = Split(ActiveCell.Address, "$")(1)
    'Sheets(shtArray).FillAcrossSheets ws.Range(columnName & ActiveCell.Row), xlFillWithAll
End Sub

您想实现什么?特别是,为什么要使用
ActiveCell
而不是Target?为什么要从母版工作表而不是正在编辑的工作表进行复制?除此之外,工作簿中是否有受保护的工作表?为什么要这样做?
Dim ws As Worksheet,rngTemp As Range Set ws=ThisWorkbook.Sheets(“开始“)设置rngTemp=ActiveCell Sheets.FillAcrossSheets ws.rngTemp,xlFillWithAll
其他工作表不受保护?其他工作表不受保护。我是vba新手。我搜索一些位置并编辑代码并稍作更改。我们可以不使用数组,因为可能会添加新工作表。@MVCnewbie-使用
FillAcrossSheets
数组是必需的。a另一个选项是遍历所有工作表。@MVCnewbie-您还可以将工作表列表保存在任何工作表中,并在代码中作为数组使用。