Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: 爱很简单

两张表中条件循环查询求和

[复制链接]
 楼主| 发表于 2019-10-6 00:10 | 显示全部楼层
rardge2015 发表于 2019-10-5 22:13
把这一段代码全部删掉或注释掉:

谢谢您。。。。谢谢
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2019-10-6 10:28 | 显示全部楼层
rardge2015 发表于 2019-10-5 22:13
把这一段代码全部删掉或注释掉:

您好,这个需要改哪里。。。。  运行后怎么会清空其他列的数据呢

在两张表中循环查询求和(10.6).rar

21.5 KB, 下载次数: 13

回复

使用道具 举报

发表于 2019-10-6 23:05 | 显示全部楼层
  1. With Sheets("问题二") '
  2.     .Range("b6:g7") = Empty ' 这行代码,多余。因为下一行代码用数据覆盖此区域,所以不用事先清除。
  3.     .[b6].Resize(2, 10) = cr ' 这一行,把 range("B6:K7") 全部覆盖,所以“不能删除”的数据也没了。
  4. End With '
复制代码

你表格设计成这样,就无法直接用 [b6].Resize(2, 10) = cr 方式输出数据,有两种方式:
1、将 cr 拆分成三个数组,用三个数组分别对应三个区域,然后再分别用数组一次性写单元格。你改改试试。
2、一个个单元格处理,我修改的代码就是这样处理。如果数据量大的话,速度会慢。数据量小,不会有感觉。代码如下,替换掉源码。
  1. With Sheets("问题二")
  2.     For i = 1 To 3
  3.         For n = 1 To 2
  4.             .Cells(n + 5, i * 4 - 2) = cr(n, (i - 1) * 4 + 1)
  5.             .Cells(n + 5, i * 4 - 1) = cr(n, (i - 1) * 4 + 2)
  6.         Next
  7.     Next
  8. End With
复制代码
回复

使用道具 举报

 楼主| 发表于 2019-10-7 15:27 | 显示全部楼层
rardge2015 发表于 2019-10-6 23:05
你表格设计成这样,就无法直接用 .Resize(2, 10) = cr 方式输出数据,有两种方式:
1、将 cr 拆分成三个 ...

谢谢您,谢谢·····
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 04:01 , Processed in 0.256969 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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