Excel精英培训网

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

[已解决]求一個宏, 讀取一組數據, 并可以使用其中某一個的方法

[复制链接]
发表于 2015-8-18 16:44 | 显示全部楼层 |阅读模式
我不懂字典的運用, 所以只能想笨方法:
A1:D4單元格中有內容, 我要一次性全部讀取這個範圍的所有內容,
并且后面能夠調取A1:D4里面某一個單元格的內容.

不知道是否有這樣的方法, 或案例, 請指導.


最佳答案
2015-8-18 18:09
  1. Sub xxx()
  2. Dim arr
  3. Dim str As String
  4. Dim r As Integer
  5. Dim c As Integer


  6. arr = Range("a1:d4")
  7. str = InputBox("请输入你想提取数据的单元格", "请输入")
  8. If str <> "" Then
  9. r = Range(str).Row
  10. c = Range(str).Column
  11.     If r <= UBound(arr, 1) And c <= UBound(arr, 2) Then
  12.         MsgBox "你输入地址所在单元格内容为  " & arr(r, c), vbInformation, "结果"
  13.     Else
  14.         MsgBox "你输入的地址超出边界", vbExclamation, "警告"
  15.     End If
  16. Else
  17.     MsgBox "你已经取消输入", vbInformation, "结果"
  18. End If
  19. End Sub
复制代码
发表于 2015-8-18 16:59 | 显示全部楼层
本帖最后由 yorkchenshunan 于 2015-8-18 17:20 编辑

用数组呗

附件为例。

工作簿7.rar

8.88 KB, 下载次数: 3

回复

使用道具 举报

发表于 2015-8-18 17:01 | 显示全部楼层
直接定义数组 arr = [a1:d4]
这样的话
A1 = arr(1,1) A2 = arr(2,1)  ...
B1 = arr(1,2) B2 = arr(2,2)  ...
C1 = arr(1,3) C2 = arr(2,3) ...
D1 = arr(1,4) D2 = arr(2,4) ...
你是想要这样吗?
回复

使用道具 举报

 楼主| 发表于 2015-8-18 18:05 | 显示全部楼层
yorkchenshunan 发表于 2015-8-18 16:59
用数组呗

附件为例。

你好, 請幫忙將代碼貼出來, 我是繁體電腦, 看不了簡體的.
感謝.
回复

使用道具 举报

 楼主| 发表于 2015-8-18 18:06 | 显示全部楼层
gufengaoyue 发表于 2015-8-18 17:01
直接定义数组 arr = [a1:d4]
这样的话
A1 = arr(1,1) A2 = arr(2,1)  ...

你好, 有點類似, 我再看一下, 謝謝.
回复

使用道具 举报

发表于 2015-8-18 18:09 | 显示全部楼层    本楼为最佳答案   
  1. Sub xxx()
  2. Dim arr
  3. Dim str As String
  4. Dim r As Integer
  5. Dim c As Integer


  6. arr = Range("a1:d4")
  7. str = InputBox("请输入你想提取数据的单元格", "请输入")
  8. If str <> "" Then
  9. r = Range(str).Row
  10. c = Range(str).Column
  11.     If r <= UBound(arr, 1) And c <= UBound(arr, 2) Then
  12.         MsgBox "你输入地址所在单元格内容为  " & arr(r, c), vbInformation, "结果"
  13.     Else
  14.         MsgBox "你输入的地址超出边界", vbExclamation, "警告"
  15.     End If
  16. Else
  17.     MsgBox "你已经取消输入", vbInformation, "结果"
  18. End If
  19. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-8-18 18:21 | 显示全部楼层
yorkchenshunan 发表于 2015-8-18 18:09

你好, 我對UBound的用法, 不太懂, 剛才在網上搜了一下, 效果不大.
你能不能大致說明一下啊, 或者你手上有沒有哪個介紹UBound用法的貼子啊.
回复

使用道具 举报

发表于 2015-8-19 08:24 | 显示全部楼层
010203400 发表于 2015-8-18 18:21
你好, 我對UBound的用法, 不太懂, 剛才在網上搜了一下, 效果不大.
你能不能大致說明一下啊, 或者你手上有 ...

Ubound(数组名, 参数)
其用途为:取指定的数组维可用的最大下标
举例:
数组arr ( 1 to 3, 1 to 100) 可以理解为一个3行*100列的数组
Ubound(arr, 1)的意思是取arr第一维度(行维度)的最大下标,即为3
Ubound(arr, 2)的意思是取arr第二维度(列维度)的最大下标,即为100


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 01:29 , Processed in 0.342744 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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