将数据传输到固定布局时考虑空行

时间:2015-08-14 15:48:33

标签: excel vba excel-vba

过去一周我一直在研究这个数据传输项目,我发现了最后一期。我有一个名为ALPHA的模板中的以下代码。此宏在后台打开4个工作簿(Location1,2,3,4)并复制某些单元格并将其粘贴到ALPHA中。现在它正在执行以下操作:

将数据粘贴到C,F,I和L中的下一个空行中,如图所示

ALPHA

问题不是所有的测试(位置文件)都有第6个数据,所以如果一个单元格留空,下一个测试的第二个结果的数据最好在Row1中,当它应该在Row2中时。发生这种情况是因为如果图片中的C8是空白的,那么代码将从那里开始粘贴下一个结果,并将数据向上移动一个。我需要代码来查找下一个空行,但只有当空行位于不同的部分时(Lables ROW1,ROW2等)我该怎么做?感谢。

注意:图片中位置标签下的值来自每个位置工作簿

代码:

var filtIds = new HashSet<int>(filterList.Select(f=> f.Id));
var filteredDataList = dataList.Where(d=> !filtIds.Contains(d.dataId)).ToArray();

1 个答案:

答案 0 :(得分:0)

我不知道我是否正确看待这一点,但如果您的目标是我所想的,那么通过导入外部数据查询其他电子表格可以完成这一切。 。我正在使用Excel 2003,其中的过程将是(每个工作表执行4次):数据 - &gt;导入外部数据 - &gt;新数据库查询 - &gt; Excel文件。从那里你可以选择你的工作表,并通过MS Query添加标准(删除空白等)。然后指出您希望放置数据的位置。 (如果在4个查询中包含列标题,则分别从屏幕截图C3,F3,I3,L3)。设置数据范围属性以在打开时刷新。如果我按照你的意思,这将实现同样的事情,实际上没有任何宏。