Excel精英培训网

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

[已解决]用VBA如何实现对数据的引用

[复制链接]
发表于 2011-6-17 13:31 | 显示全部楼层 |阅读模式
用VBA如何实现对数据的引用
谢老师们帮忙谢谢
最佳答案
2011-6-17 16:04
本帖最后由 蓝桥玄霜 于 2011-6-17 16:08 编辑

  1. Sub yy()
  2. Dim i&, Myr&, Myc%, Arr, rq1, m&
  3. Dim rq, Brr, j&, ii&, r1, r%, Arr1()
  4. Sheet1.Activate
  5. rq = [h2].Value
  6. Myc = [iv3].End(xlToLeft).Column
  7. Brr = Range("h3", Cells(3, Myc))
  8. Myr = Sheet2.[d65536].End(xlUp).Row
  9. Arr = Sheet2.Range("d6:i" & Myr)
  10. Set r1 = Sheet2.[d:d].Find(rq)
  11. If Not r1 Is Nothing Then
  12.     For i = 1 To UBound(Brr, 2)
  13.         m = 0
  14.         For j = r1.Row - 6 To 6 Step -1
  15.             If Arr(j, 2) = Brr(1, i) Then
  16.                 m = m + 1
  17.                 If m = 1 Then rq1 = Arr(j, 1)
  18.                 If rq1 - Arr(j, 1) > 4 And rq1 <> "" Then Exit For
  19.                 r = r + 1
  20.                 ReDim Preserve Arr1(1 To 6, 1 To r)
  21.                 For ii = 1 To 6
  22.                     Arr1(ii, r) = Arr(j, ii)
  23.                 Next
  24.             End If
  25.         Next
  26.     Next
  27. End If
  28. [f8].Resize(6, 200).ClearContents
  29. [f8].Resize(6, r) = Arr1
  30. End Sub
复制代码

新建 Microsoft Excel 工作表.rar

36.38 KB, 下载次数: 36

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-6-17 16:04 | 显示全部楼层    本楼为最佳答案   
本帖最后由 蓝桥玄霜 于 2011-6-17 16:08 编辑

  1. Sub yy()
  2. Dim i&, Myr&, Myc%, Arr, rq1, m&
  3. Dim rq, Brr, j&, ii&, r1, r%, Arr1()
  4. Sheet1.Activate
  5. rq = [h2].Value
  6. Myc = [iv3].End(xlToLeft).Column
  7. Brr = Range("h3", Cells(3, Myc))
  8. Myr = Sheet2.[d65536].End(xlUp).Row
  9. Arr = Sheet2.Range("d6:i" & Myr)
  10. Set r1 = Sheet2.[d:d].Find(rq)
  11. If Not r1 Is Nothing Then
  12.     For i = 1 To UBound(Brr, 2)
  13.         m = 0
  14.         For j = r1.Row - 6 To 6 Step -1
  15.             If Arr(j, 2) = Brr(1, i) Then
  16.                 m = m + 1
  17.                 If m = 1 Then rq1 = Arr(j, 1)
  18.                 If rq1 - Arr(j, 1) > 4 And rq1 <> "" Then Exit For
  19.                 r = r + 1
  20.                 ReDim Preserve Arr1(1 To 6, 1 To r)
  21.                 For ii = 1 To 6
  22.                     Arr1(ii, r) = Arr(j, ii)
  23.                 Next
  24.             End If
  25.         Next
  26.     Next
  27. End If
  28. [f8].Resize(6, 200).ClearContents
  29. [f8].Resize(6, r) = Arr1
  30. End Sub
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-3 00:30 , Processed in 0.274748 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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