Excel精英培训网

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

[已解决]如何动态生成数组,并循环报出数组的各值。

[复制链接]
发表于 2013-6-11 15:44 | 显示全部楼层 |阅读模式
本帖最后由 事后诸葛亮 于 2013-6-11 21:47 编辑

如题,请帮忙下载附件 解决问题 谢谢

代码修改中最终生成的数组必须用“Arr临时数组”表示
可以从下拉列表中选择,然后依次报出生成新数组的值。
也可以自行输入,自己输入时,生成后的数组,在汇报时只需要报出 新数组“Arr临时数组”的第一个也是唯一一个 值 ComboBox1.text
必须用数组循环的方式“汇报”
如何修改代码?谢谢。我写的代码有问题。

QQ截图20130611154411.png
原始文件: 函数调用.rar (11.99 KB, 下载次数: 16)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-6-11 18:21 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub ComboBox1_Change()

  2.     For i = 1 To Col末列号
  3.         If ComboBox1.Text = Cells(1, i) Then
  4.             Row末行号 = Cells(Rows.Count, i).End(xlUp).Row
  5.             If Row末行号 = 2 Then
  6.                 ReDim Arr临时数组(1 To 1)
  7.                 Arr临时数组(1) = Cells(2, i)
  8.             Else
  9.                 Arr临时数组 = Application.Transpose(Range(Cells(2, i), Cells(Row末行号, i)))
  10.             End If
  11.             Exit Sub
  12.         End If
  13.     Next
  14. End Sub

  15. Private Sub CommandButton1_Click()
  16.     Dim str$
  17.     For k = 1 To UBound(Arr临时数组)
  18.         str = str & "arr(" & k & ")=" & Arr临时数组(k) & vbCrLf
  19.     Next k
  20.     MsgBox str
  21. End Sub
复制代码
回复

使用道具 举报

发表于 2013-6-11 18:21 | 显示全部楼层
你要是数据多了,用这个MSGBOX来显示的话不大好看了。
回复

使用道具 举报

 楼主| 发表于 2013-6-11 21:46 | 显示全部楼层
hwc2ycy 发表于 2013-6-11 18:21
你要是数据多了,用这个MSGBOX来显示的话不大好看了。

太聪明了 呵呵 谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 08:32 , Processed in 0.265828 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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