Excel精英培训网

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

[已解决]一定条件下的符合范围的单元格值引用

[复制链接]
发表于 2012-2-7 08:12 | 显示全部楼层 |阅读模式
求助.rar (82.72 KB, 下载次数: 26)
发表于 2012-2-7 08:49 | 显示全部楼层
回复

使用道具 举报

发表于 2012-2-7 08:57 | 显示全部楼层    本楼为最佳答案   
  1. Sub lt()    '获取炼铁数据
  2.     On Error Resume Next
  3.     Application.ScreenUpdating = False
  4.     Dim zb As Workbook
  5.     Dim Shname As String, str As Date
  6.     Dim i As Long, j As Long
  7.     Dim arr, arr1
  8.     Dim Ro As Long, Co As Long
  9.     Set zb = GetObject(ThisWorkbook.Path & "\2012年3月各单位报表\2012年3月.xls")    '查找计算机内文件名为数据表.xls的工作薄,故xb定义为工作薄形式'
  10.     Shname = Cells(2, 15).Value
  11.     str = Cells(2, 4)
  12.     arr = zb.Sheets(Shname).Range("A4:BW" & [A65536].End(xlUp).Row)    '将2012年3月表中的统计表数据赋值给数组
  13.     ReDim arr1(1 To 5, 1 To 18)
  14.     For i = 1 To UBound(arr)    '在数组arr中循环找出对应的日期
  15.         If arr(i, 1) = str Then
  16.             For j = 4 To UBound(arr, 2)    '循环对找出日期对应的行的数据处理
  17.                 Ro = Int((j - 4) / 18) + 1
  18.                 Co = (j - 4) Mod 18 + 1
  19.                 arr1(Ro, Co) = arr(i, j)    '生成1-4号高炉数据到数组arr1中
  20.             Next j
  21.             Exit For
  22.         End If
  23.     Next i
  24.     For i = 1 To 18    '求和循环
  25.         For j = 1 To 4
  26.             arr1(5, i) = arr1(5, i) + arr1(j, i)
  27.         Next j
  28.     Next i
  29.     zb.Close False
  30.     Range("E15:V19") = arr1
  31.     Application.ScreenUpdating = True
  32. End Sub
复制代码
回复

使用道具 举报

发表于 2012-2-7 08:59 | 显示全部楼层
附件: 求助-sj.rar (86.69 KB, 下载次数: 16)
回复

使用道具 举报

 楼主| 发表于 2012-2-7 09:18 | 显示全部楼层
sunjing-zxl 发表于 2012-2-7 08:59
附件:

谢谢
sunjing-zxl 老师,我慢慢消化一下,不懂的地方还很多
回复

使用道具 举报

发表于 2012-2-7 09:24 | 显示全部楼层
好复杂啊,还看不懂,学习钻研一下先
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-30 04:21 , Processed in 0.467573 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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