[[20150612134456]] 『配列がありません』(NTT) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『配列がありません』(NTT)

配列がありませんというエラーが出ます。なんでですかね??

    x = Range("A65536").End(xlUp).Row
    For i = 1 To x
        If Range("A1") = StrConv(Range("A1"), vbNarrow) Then
            Cells(i, 1) = vbWide(Cells(i, 1))
        Else
        End If

Next i

半角→全角にしようとしてます

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 vbWide(Cells(i, 1))
 とは何か?

 StrConv(Cells(i, 1), vbWide)
 のことか?
(ねむねむ) 2015/06/12(金) 14:00

 本題とは関係ありませんが

 >>x = Range("A65536").End(xlUp).Row

 xl2010 なら、 A1048676 でしょうけど、いずれにしても、このようなマジックナンバーをコードで記述すべきではありません。

 Range("A" & Rows.Count) にしましょう。

(β) 2015/06/12(金) 14:04


ねむねむさん

それです!!何となくこれでいいかな?という感じで使用したので全く理解できていませんでした。ありがとうございます!

βさん
なるほど…理由はよくわかりませんが、βさんの書き方のほうが綺麗で見やすいですね。書き換えます。ありがとうございます。
(NTT) 2015/06/12(金) 14:11


 >If Range("A1") = StrConv(Range("A1"), vbNarrow)
 も
 >If Cells(i, 1) = StrConv(Cells(i, 1), vbNarrow)
 のミスか?

(ねむねむ) 2015/06/12(金) 14:12


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.