Microsoft技术社区联盟成员,全球领先的Excel2003/2007/2010门户,Office培训学习的最佳社区
设为首页收藏本站|繁體中文 切换到窄版

Excel Home论坛

 找回密码
 免费注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

魔方网表,Excel终结者,永久免费 Excel服务器2010软件和教程下载 菜鸟啃Excel: 样章试读
Excel不给力? 何不试试FoxTable! 2012年Excel免费培训班2-6月开课计划 新人必读:ExcelHome最佳学习方法 免费下载Excel行业应用视频教程
精粹:成为Excel高手的捷径 免费下载39集新Excel精粹视频教程 免费学习Excel数据透视表视频教程 入门必看《循序渐进学Excel》视频
Excel辅助工具的巅峰之作--Kutools 免费学习Excel 2007精粹视频教程 Office Tab,Office界面的革命性创新 搞不定老板要的报表?我们来帮您

求助,关于数组的问题

查看: 1103|回复: 5| 收藏 :0
  • 873财富
  • 0鲜花
  • 0技术
    • 等级 3EH中级
    积分排行
    1762
    帖子
    277
    精华
    0
    分享
    0

    求助,关于数组的问题 [复制链接]


    Sub t()
    ReDim sname(4) As String
    For i = 1 To 4
    f = InputBox("Enter")
    sname(i) = f
    Next i
    Sheet1.Range("A1:A4") = sname(i)
    End Sub
    我想把数组元素写到A1到A4,最后的一句提示下标越界。
  • 4755财富
  • 8鲜花
  • 117技术
  • 积分排行
    83
    帖子
    906
    精华
    11
    分享
    0
    发表于 2008-6-14 17:05:27 |显示全部楼层
    Sub t()
    ReDim sname(4) As String
    For i = 1 To 4
    f = InputBox("Enter")
    sname(i) = f
    Next i
    For i = 1 To 4
        Range("A" & i).Value = sname(i)
    Next
    End Sub
    Excel博客:http://www.excelperfect.com
    完美Excel QQ群:140427507
    zez
  • 22330财富
  • 1鲜花
  • 3技术
  • 积分排行
    60
    帖子
    8196
    精华
    0
    分享
    0
    发表于 2008-6-14 17:07:22 |显示全部楼层
    谢谢版主提供的资料库!
  • 873财富
  • 0鲜花
  • 0技术
    • 等级 3EH中级
    积分排行
    1762
    帖子
    277
    精华
    0
    分享
    0
    发表于 2008-6-14 17:30:37 |显示全部楼层
    谢谢版版,还要用循环来写吗,我记得有个array或什么记不清了,好象是可以一次性写入的。
  • 196财富
  • 0鲜花
  • 0技术
    • 等级 2EH初级
    积分排行
    3000+
    帖子
    56
    精华
    0
    分享
    0
    发表于 2008-6-14 19:19:18 |显示全部楼层

    Option Base 1
    Sub t()
    ReDim sname(4) As String
    For i = 1 To 4
    f = InputBox("Enter")
    sname(i) = f
    Next i
    Sheet1.Range("A1:A4") = Application.Transpose(sname())
    End Sub

    楼主的数组下标默认为0,而楼主从1开始循环,自然不对,应用option base 1 定义下标

  • 4755财富
  • 8鲜花
  • 117技术
  • 积分排行
    83
    帖子
    906
    精华
    11
    分享
    0
    发表于 2008-6-14 19:33:52 |显示全部楼层

    谢谢zhouzc88的提醒!

    再补充一点.通常,返回的数组按水平方向排列,要赋值给垂直方向的单元格,需要进行转置.

    Excel博客:http://www.excelperfect.com
    完美Excel QQ群:140427507

    发表回复

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

    发帖时请遵守我国法律,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任。
    回顶部