我试图遍历一个excel文件文件夹(大约6个文件左右),从命名表中复制数据并将值粘贴到主文件中。我试过使用DataBodyRange而不是标准范围,但是将其粘贴到ThisWorkbook(主机将在其中居住)时遇到了问题。粘贴目标与源的大小相同,应粘贴到下一个空行,依此类推。我花了两天时间将头撞在墙上,无法解决这个问题。任何帮助或见识都将是惊人的。
var target = dr["Acct"].ToString();
if (target.StartsWith("0")
|| target.StartsWith("1")
|| target.StartsWith("2")
)
{
Level = "Balance Sheet";
}
答案 0 :(得分:0)
在您知道错误所在的行上添加一个断点,运行您的代码,当它停止时,请使用立即窗口并键入?ListObjects(1).Name
,按Enter键,看看是否遇到相同的错误,建议您。
您需要引用特定的工作簿和工作表才能获取ListObject。尝试更改
Workbooks.Open (Myfile)
到
set new_workbook = Workbooks.Open(Myfile)
然后使用(假设ListObject在工作表1中)
Set rng = new_workbook.Worksheets(1).ListObjects(1).DataBodyRange