| 
    
     |  | ▼kawata さん: こんにちは。
 
 >kawataです、よろしくお願いします。
 >(Windows2000/Excel2000)
 >
 >セルのデータを加工するのに、これまではセルデータを直に
 >読んで書いてとやっておりましたが、ここにきて、ようやく
 >配列に手を出しはじめました(^^;。
 >望むように動作すれば圧倒的な速度差に感激しております。
 >
 >で、いろいろ勉強のためにテストしているのですが、
 >
 >Sub test()
 >Dim aaa() As Variant
 >  With Sheets("sheet1").Range("a1:a20")
 >    aaa = .Value
 >    For i = 1 To UBound(aaa)
 >      aaa(i, 1) = "済" & aaa(i, 1)
 >    Next
 >    .Value = aaa
 >  End With
 >End Sub
 >
 >「test」は問題なく動作します、これを・・・・・
 >
 >Sub test2()
 >Dim aaa() As Variant
 >Dim bbb() As Variant
 >  With Sheets("sheet1").Range("a1:a20")
 >    aaa = .Value
 ReDim bbb(1 to UBound(aaa), 1 to 1)
 'にしてみて下さい
 >    For i = 1 To UBound(aaa)
 >      bbb(i, 1) = "済" & aaa(i, 1)
 >'      Debug.Print bbb(i, 1)
 >    Next
 >    .Value = bbb
 >  End With
 >End Sub
 >
 >のようにすると、Range("a1:a20")は全部消えてしまいます。
 >根本的なところで配列の理解ができていないように思います(^^;。
 >
 >とんちんかんな質問をしているのかどうかも自分で判断できません。
 >ぜひ、よろしくお願いします。
 >※Debug.Print bbb(i, 1)で中身は確認できているのですけども・・。
 
 
 |  |