n=LOF(1)
Redim arrByte(1 to n) AS Byte
Redim arrByte1(1 to n) AS Byte
Get 1, , arrBytes
Close 1For i = 0 To n
   arrBytes1(i) = arrBytes(i)
Next为什么会提示subscript out of range?

解决方案 »

  1.   

    try:n=LOF(1)
    Redim arrByte() AS Byte
    Redim arrByte1() AS Byte
    Get 1, , arrByte
    Close 1   arrBytes1 = arrByte
      

  2.   

    n=LOF(1)
    dim arrByte() AS Byte
    dim arrByte1() AS Byte
    Get 1, , arrByte
    Close 1   arrBytes1 = arrByte
      

  3.   

    灵活一些,想想别的办法:
    dim v as variant
    Redim arrByte(1 to n) AS Byte
    Redim arrByte1 AS Bytev=arrByte
    arrByte1=v
      

  4.   

    测试通过
    Private Sub Command2_Click()
        Dim mybyte1() As Byte
        Dim mybyte2() As Byte
        
        mybyte1() = "测试"
        mybyte2 = mybyte1
        
        MsgBox mybyte1
        MsgBox mybyte2
    End Sub
      

  5.   

    n=LOF(1)
    Redim arrByte(1 to n) AS Byte
    Redim arrByte1(Lbound(arrByte) to Ubound(arrByte)) AS Byte
    Get 1, , arrBytes
    Close 1For i = Lbound(arrByte) To Ubound(arrByte)) 
       arrBytes1(i) = arrBytes(i)
    Next
      

  6.   

    n=LOF(1)
    Redim arrByte(1 to n) AS Byte
    Redim arrByte1(1 to n) AS Byte
    Get 1, , arrBytes
    Close 1For i = 0 To n
       arrBytes1(i) = arrBytes(i)   '这里arrBytes没有看到定义,试一下 northwolves(野性的呼唤) 的答案
    Next为什么会提示subscript out of range?
      

  7.   

    那如何从arrByte()中提取一部分元素到arrByte1()呢?
    比如
    k=0
    For i=100 To n
       arrBytes1(k)=arrBytes(i)
       k=k+1
    Next那该怎么实现呢?小弟初学,还请多多帮忙,多谢多谢
      

  8.   

    就是strbyte1=strbyte就可以,就是冰的那样。
      

  9.   

    n=LOF(1)
    Redim arrBytes(1 to n) AS Byte
    Redim arrBytes1(1 to n) AS Byte
    Get 1, , arrBytes
    Close 1For i = 0 To n
       arrBytes1(i) = arrBytes(i) 
    Next为什么会提示subscript out of range?*****************************
    For i = 1 To n    '你声明的是 1  To n
       arrBytes1(i) = arrBytes(i) 
    Next
    *****************************