我想在覆盖现有工作表的同时从另一个工作簿复制工作表。
我可以复制工作表,但是会创建一个新的工作表。目标工作簿包含其他工作表,这些工作表使用wb_target中已经存在的工作表(应该覆盖)来引用要评估的数据;因此“删除”,“重命名”将不起作用,因为删除旧表后引用会丢失。
代码在这里:
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Filters.Add "Excel Files", "*.xlsx; *.xlsm; *.xls; *.xlsb", 1
.Show
fullpath = .SelectedItems.Item(1)
End With
If InStr(fullpath, ".xls") = 0 Then
Exit Sub
End If
Workbooks.Open fullpath
Sheets("ws_source").Copy Before:=Workbooks("wb_target.xlsm").Sheets("ws_target")
newfilename = Left(fullpath, Len(fullpath) - 4) & "_new.xls"
ActiveWorkbook.SaveAs Filename:=newfilename
此代码有效,但我需要覆盖ws_target而不是在wb_target中创建ws_source。
答案 0 :(得分:0)
第一种方式
您不能实际“覆盖工作表”。
第二种方式
您还可以采用其他方式:
使用以下类似的方法删除目标工作表中的所有内容:
VRadio tags
将所有内容从源工作表复制到目标工作表
slot-scope is undefined.