|
▼kanabun さん:
あと、
>> '------- 配列に読み込み
>の部分↓ですが、
>
>> ReDim v(1 To maxRow, 1 To maxCol)
>> Open myCSV For Input As io
>> For i = 1 To maxRow
>> For j = 1 To maxCol
>> Input #io, v(i, j)
>> Next
>> Next
>
>このままですと、
>"0123" のような文字列は シートに展開したとき 数値化されて 123 になって
>しまいますので、そういうデータがあるときは、
>以下のようにしてください。
>
> For i = 1 To maxRow
> For j = 1 To maxCol
> Input #io, v(i, j)
> If VarType(v(i, j)) = vbString Then
> If IsNumeric(v(i, j)) Then
> v(i, j) = "'" & v(i, j)
> End If
> End If
> Next
> Next
ご教示ありがとうございます。
当初、ご教示いただいたVBAで実行しましたが、下記→の箇所で、
インデックスが有効範囲にありません。と表示されました。
'------- 配列に読み込み
→ ReDim v(1 To maxRow, 1 To maxCol)
Open myCSV For Input As io
For i = 1 To maxRow
For j = 1 To maxCol
Input #io, v(i, j)
Next
Next
再度、ご教示いただいたVBAを実行しましたが、下記→の箇所で、
コンパイルエラー。SubまたはFunctionが定義されていません。
と表示されました。
For i = 1 To maxRow
For j = 1 To maxCol
→ Input #io, v(i, j)
If VarType(v(i, j)) = vbString Then
If IsNumeric(v(i, j)) Then
v(i, j) = "'" & v(i, j)
End If
End If
Next
Next
ご連絡が遅くなり、申し訳ありません。
VBAは勉強中の初心者ですので、よろしくお願いいたします。
|
|