vba在两个工作表之间有空单元格时将数据拆分为多个工作表
当中间有空白单元格时,我很难找到数据。我无法追踪从k9开始的数据,因为有两个空单元格k7和k8。有从单元格A到单元格K的数据。单元格K是新工作表的主要因素和名称。单元格A至J为其他数据,如姓名、时间、办公室等。单元格A2至K2为标题。单元格将拆分为活页A、B和Cvba在两个工作表之间有空单元格时将数据拆分为多个工作表,vba,excel,split,Vba,Excel,Split,当中间有空白单元格时,我很难找到数据。我无法追踪从k9开始的数据,因为有两个空单元格k7和k8。有从单元格A到单元格K的数据。单元格K是新工作表的主要因素和名称。单元格A至J为其他数据,如姓名、时间、办公室等。单元格A2至K2为标题。单元格将拆分为活页A、B和C Department <-- this is K2 A <--- this K4 B C <---k7 <---k8 B <---k9 B
Department <-- this is K2
A <--- this K4
B
C
<---k7
<---k8
B <---k9
B
C
A <-- this is K14
部门我认为您应该更改此代码:
Set CostC = ws.Range("k4", ws.Range("k" & Rows.Count).End(xlUp))
Set Rng = ws.Range("A2:O" & ws.Range("K" & Rows.Count).End(xlUp).Row)
对于这一点:
Set CostC = ws.Range("K4:K" & ws.Range("K" & Rows.Count).End(xlUp).Row)
更新:
根据您在下面的评论,更改此选项:
Set Rng = ws.Range("a1").CurrentRegion.Resize(, 15)
Set Rng = Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1, 15)
根据本守则:
Set CostC = ws.Range("k4", ws.Range("k" & Rows.Count).End(xlUp))
Set Rng = ws.Range("A2:O" & ws.Range("K" & Rows.Count).End(xlUp).Row)
我想我们在当前区域有问题,但我不能确定,因为我看不到实际数据。
希望这对你有用。你能更详细地描述一下你想要实现的目标吗?我没有足够的技能开始调试您的代码。我正在尝试根据单元格K4以后的部门列将工作表1中的数据拆分为多个工作表。我面临的问题是,如果两者之间存在差距,我就无法追踪数据。示例部门从k4开始到k100,在单元格k7和k8之间为空,程序将只跟踪从k4到k6的值。我得到了运行时错误1004。两行相同。如果在这两种情况下都执行debug.print costc.address,它将返回相同的地址。这不起作用。我仍然无法追踪k9以后的数据。如果k7和k8的值大于k9,则在k9不为空的情况下跟踪k9。是的,如图所示。六羟甲基三聚氰胺六甲醚。。。我试着运行你的代码,它按照你说的做了。它为所有非空白单元格值创建工作表。您知道如何使其在中间有空白单元格时能够跟踪数据吗?这就是奇怪的地方。我没有改变你的密码。它很好用。