VBA将活动单元格数据复制到所有活动图纸错误
我有3张纸和1张母版纸。 我想把master中的单元格数据复制到其余的工作表中。 总是出现“运行时错误1004”。有人能帮忙吗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)
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-您还可以将工作表列表保存在任何工作表中,并在代码中作为数组使用。