芯友网Xin1234.COM

VBA字典的items值字符串还有长度限制?



seiromeM
字典的items值字符串还有长度限制?
杞枸
限制多少哇?
狸嗦.斯迪修
255吧
杞枸
不能吧,那么少?
差术技大瘾
狸嗦.斯迪修
猜的
限制的话应该就是255
seiromeM
难怪咯
狸嗦.斯迪修
好像我猜错了
seiromeM
297个报错,换个短的就好了
差术技大瘾
d.count 超过65536 直接transpose会报错  
需要循环取出
狸嗦.斯迪修
那个是数量
seiromeM
差术技大瘾
?Memories 
昨天学了一个字典嵌套的写法
seiromeM
这语句没毛病吧
keys可以取,items报错
差术技大瘾
发文件看看
seiromeM
把字符换短点就可以运行
大不了
公司电脑没网
差术技大瘾
数据源是啥样的   
代码怎么写的  发下看看
seiromeM
不用看了,经过验证?修迪斯.嗦狸 说的是对的
不能超过255
256个就报错
狸嗦.斯迪修
杞枸
等等,说的是数量还是长度?
seiromeM
单个长度
狸嗦.斯迪修
字符长度
杞枸
单个item的字符数?
seiromeM
狸嗦.斯迪修
item存数组就好了
差术技大瘾

重新写的转置函数  你可以试试
Function Transpose2(arr As Variant)
    '******转置函数,单列单行数组不会转置为一维的,没有系统255字符的限制******
    '******CopyRight @ EXCEL880 QQ80871835 百度不到去谷歌*****
    '******这里只考虑一维和二维数组 一维数组直接转为单列二维数组
    Dim brr(), i, j, n
    On Error Resume Next
    n = UBound(arr, 2)
    If Err = 0 Then n = 2 Else n = 1 '判断维数
    On Error GoTo 0
    If n = 1 Then
        ReDim brr(LBound(arr) To UBound(arr), 1 To 1)
        For i = LBound(arr) To UBound(arr)
            brr(i, 1) = arr(i)
        Next
    Else
        ReDim brr(LBound(arr, 2) To UBound(arr, 2), LBound(arr) To UBound(arr))
        For i = LBound(arr) To UBound(arr)
            For j = LBound(arr, 2) To UBound(arr, 2)
                brr(j, i) = arr(i, j)
            Next
        Next
    End If
    Transpose2 = brr
End Function

?Memories 你抽空试试这个转置函数  
我估计还是你的转置 出问题了
杞枸

100万没问题的啊
差术技大瘾
应该不是字符长度的事   
毛病就出在这个转置函数商
杞枸
?Memories 你怎么测试的?
狸嗦.斯迪修
我测试也没问题
seiromeM
刚刚热饭的时候想了下,可能跟字典无关,是转置函数的问题
回来一试果然是的

差术技大瘾
seiromeM
?瘾大技术差 好的,保存一下先,吃饭
杞枸
 95944685 
我测试没上亿_(:з」∠)_
九千五百多万
seiromeM
转置函数的问题
尼玛,坑好多啊
差术技大瘾
多掉几次就好了  
包括刚才d.count  大于65536  转置也会出问题
你可以试试
seiromeM
ok
差术技大瘾
混混南江
?当最小化excel时,怎样才能不退出当前窗体?
鸟小E
并排

相关问题
------分隔线----------------------------
赞助商链接
赞助商链接