Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4278|回复: 9

[已解决]如何解决复制表格数据时解决空白选项一起复制的问题?

[复制链接]
发表于 2016-2-19 09:47 | 显示全部楼层 |阅读模式
本帖最后由 arno61361 于 2016-2-19 10:05 编辑

如题,目前代码,能从表“2来人”中复制数据到表“附件4-来人总表”,但因表“2来人”本身共246行已预作了下拉选项,现在实现复制到表“附件4-来人总表”保存后,就会出现240多行的空白行,每次进行数据保存时,必需人工删除空白行,表格的数据才能连贯,现在请求老师们帮忙解决下这个问题,就是每次复制时只从表“2来人”复制单元格已做选项(即非空白)部分,且保存在表“附件4-来人总表”时是从最后一行开始的空白行上。谢谢!

以下,是我目前使用的代码,请问该怎么修改?

Private Sub auto复制()
    Dim arr
        arr = Range("e3:ai" & Range("e65536").End(3).Row)
        With Sheets("附件4-来人总表")
        .Range("b" & .Range("B65536").End(3).Row + 1).Resize(UBound(arr), UBound(arr, 2)) = arr
        End With
End Sub
最佳答案
2016-2-19 10:50
问题不在单元格的有效性,而在于下面各行单元格里有空格,不是空单元格,所以用end语句得不出正确行数。
原代码不改也可以,但要把E列下面各行内容清空(可以保留有效性)。

2015年度广新中央城营销周报表(12月10日测试表).zip

238.6 KB, 下载次数: 2

发表于 2016-2-19 09:50 | 显示全部楼层
用union把当前表需要的复制的行连起来,再粘贴到新表
回复

使用道具 举报

发表于 2016-2-19 09:57 | 显示全部楼层
可以直接复制,不通过数组转。
  1. Private Sub auto复制()
  2.     With Sheets("附件4-来人总表")
  3.         Range("e3:ai" & Range("e65536").End(3).Row).Copy .Range("B65536").End(3).Offset(1)
  4.     End With
  5. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2016-2-19 10:09 | 显示全部楼层
grf1973 发表于 2016-2-19 09:57
可以直接复制,不通过数组转。

您好!首先非常感谢您的热情援助,但您提供的方法问题依旧,因我的“表2”里空白的表格里都有下拉选项,是为数据统计而设置的,因此,您的方法还是会出现将“表2”的表格全部复制,那么,等下周新数据复制时,就会存在许多空白行,导致保存的数据表格不连贯。我现提供附件,烦请再给指点。谢谢!
回复

使用道具 举报

发表于 2016-2-19 10:47 | 显示全部楼层
  1. Private Sub auto复制()
  2.     Dim arr
  3.         arr = Range("e3:ai" & Range("e65536").End(3).Row)
  4.         For i = UBound(arr) To 1 Step -1
  5.             If Len(Trim(arr(i, 1))) > 0 Then Exit For
  6.         Next
  7.         If i = 0 Then Exit Sub
  8.         With Sheets("附件4-来人总表")
  9.             .Range("b" & .Range("B65536").End(3).Row + 1).Resize(i, UBound(arr, 2)) = arr
  10.         .Activate
  11.         End With
  12. End Sub
复制代码
回复

使用道具 举报

发表于 2016-2-19 10:50 | 显示全部楼层    本楼为最佳答案   
问题不在单元格的有效性,而在于下面各行单元格里有空格,不是空单元格,所以用end语句得不出正确行数。
原代码不改也可以,但要把E列下面各行内容清空(可以保留有效性)。
回复

使用道具 举报

发表于 2016-2-19 10:53 | 显示全部楼层
只改表2数据,不改动代码。

2015年度广新中央城营销周报表(12月10日测试表).rar

168.58 KB, 下载次数: 3

回复

使用道具 举报

 楼主| 发表于 2016-2-19 11:48 | 显示全部楼层
谢谢grf1973!问题解决了,但是必需在做表格时E列需选填数据,否则复制失败。问题1:表2需清空数据代码方能生效,是否因空白选项也是一种数据?问题2:为何E列必需输入数据,否则复制失败?请求告知原理,望不吝赐教!谢谢!
回复

使用道具 举报

发表于 2016-2-19 13:11 | 显示全部楼层
1、你的有效性“空白”不是真的空白,而是空格。改成真的空白就行了。
2、E列没有数据,你复制他干嘛?
回复

使用道具 举报

 楼主| 发表于 2016-2-19 14:55 | 显示全部楼层
1、表2E列是客户意向度的判断,是统计要素之一。
2、现在的问题是,如果我E列不输入数据或有效性选择,则只能复制表头和第一行数据。E列输入数据,则实现我要的功能。没搞懂这个问题的原理?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 02:03 , Processed in 0.376726 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表