ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3384|回复: 10

[求助] 二维数组求助

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-19 15:12 | 显示全部楼层 |阅读模式
各位高手,本人小白,请问如何将以下数组中的元素放入一个二维数组,要求按数的位数(或字符串中字母的个数),“01”,“02”放入第一列,“011”,“021”,“012”放入第二列,即arr(0,0)=01; arr(1,0)=02; arr(0,1)=011; arr(1,1)=021; arr(2,1)=012
Dim a(0 To 4) As String

a(0) = "01"
a(1) = "02"
a(2) = "011"
a(3) = "021"
a(4) = "012"

小弟感激不尽!

TA的精华主题

TA的得分主题

发表于 2018-7-19 15:21 | 显示全部楼层
循环遍历数组放入..........

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-19 15:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jiangxiaoyun 发表于 2018-7-19 15:21
循环遍历数组放入..........

我也知道,可我操作数次都不成功,这是我写的,不成功

Dim b(0 To 4) As Integer

b(i) = Len(a(i))

Dim c(0 To 1) As Integer

c(0) = 2
c(1) = 3

Dim arr(0 To 3, 0 To 1) As String

For k = 0 To 4
For j = 0 To 1
For i = 0 To 3

If c(j) = b(k) Then

arr(i, j) = a(k)

End If

Next
Next
Next

Debug.Print arr(1, 0)

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-19 16:10 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-7-19 16:23 | 显示全部楼层
greygoose 发表于 2018-7-19 15:37
我也知道,可我操作数次都不成功,这是我写的,不成功

Dim b(0 To 4) As Integer

錯處很多啊, b(i) = len(a(i)) 什麼
都不在循環
dim數組類型不是integer 是variant
不寫類型還更好

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-19 16:47 | 显示全部楼层
chis3 发表于 2018-7-19 16:23
錯處很多啊, b(i) = len(a(i)) 什麼
都不在循環
dim數組類型不是integer 是variant

烦劳帮我写一段新的代码,谢谢了

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-19 18:01 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-19 22:16 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-7-19 22:30 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-7-19 22:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 zopey 于 2018-7-19 22:34 编辑

Dim a(0 To 4) As String
a(0) = "01"
a(1) = "02"
a(2) = "011"
a(3) = "021"
a(4) = "012"

dim arr()
redim arr(0 to 4,0 to 1)
for i=0 to  4
if len(a(i)=2 then
   arr(k1,0)=a(i)
   k1=k1+1
elseif   len(a(i)=3 then
  arr(k2,1)=a(i)
  k2=k2+1
end if
next

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-10 17:18 , Processed in 0.025833 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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