Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vba在两个工作表之间有空单元格时将数据拆分为多个工作表_Vba_Excel_Split - Fatal编程技术网

vba在两个工作表之间有空单元格时将数据拆分为多个工作表

vba在两个工作表之间有空单元格时将数据拆分为多个工作表,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

当中间有空白单元格时,我很难找到数据。我无法追踪从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

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。是的,如图所示。六羟甲基三聚氰胺六甲醚。。。我试着运行你的代码,它按照你说的做了。它为所有非空白单元格值创建工作表。您知道如何使其在中间有空白单元格时能够跟踪数据吗?这就是奇怪的地方。我没有改变你的密码。它很好用。