Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9152 / 13644 ツリー ←次へ | 前へ→

【28954】【続き】TextToColumns について ヒロヒロ123 05/9/19(月) 16:09 質問[未読]
【29048】Re:【続き】TextToColumns について awu 05/9/22(木) 13:27 回答[未読]
【29062】Re:【続き】TextToColumns について ヒロヒロ123 05/9/22(木) 21:04 お礼[未読]

【28954】【続き】TextToColumns について
質問  ヒロヒロ123  - 05/9/19(月) 16:09 -

引用なし
パスワード
   >複数レコード(200〜300レコード)をマクロにて実行した場合、
>以下のエラーメッセージ表示されます。
> 実行時エラー’1004’:
>  1度に変換できるのは1列だけです。範囲には、複数行を
>  選択できますが、1列だけです。1列だけのセル範囲を
>  選択し、再度実行してください。

Range("A1:A3").TextToColumns(以下略) を実行すると、
  A     B    C
1|あ,い,う |    |    |
2|あい,う  |    |    |
3|あ,いう  |    |    |

 が

1|あ    |い   |う   |
2|あい   |う   |    |
3|あ    |いう  |     |


★前回、
 行方向に300データが入っている分には大丈夫ですが、区切り位置処理の対象の範囲 が2列以上だと、エラーメッセージに書いてとおりの理由で実行不可です。
 データの範囲を確認してみてください。
という回答をいただきましたが、列:複数列、行:何百〜何千行 の場合、エラーなしに
データを貼り付けることは無理なのでしょうか?

また、別の方法があるのでしょうか?
よろしくご指導願います。

【29048】Re:【続き】TextToColumns について
回答  awu  - 05/9/22(木) 13:27 -

引用なし
パスワード
   > 列:複数列、行:何百〜何千行 の場合、エラーなしに
> データを貼り付けることは無理なのでしょうか?

複数列にカンマ区切りのデータがあり、それらを連続した右側列へ展開するとすれば、
こんな感じのコードで可能と思います。

Sub 複数列カンマ区切り展開()
Dim Rng As Range
Dim Target As Range
Set Target = Range("A1", Range("A65536").End(xlUp))
For Each Rng In Target
  Do Until Rng.End(xlToRight).Column = 256
    If Not IsEmpty(Rng.Offset(, 1)) Then
      Rng.Value = Rng.Text & "," & Rng.Offset(, 1).Text
      Rng.Offset(, 1).Delete Shift:=xlToLeft
    Else
      Rng.Offset(, 1).Delete Shift:=xlToLeft
    End If
  Loop
Next Rng
Target.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
    Tab:=False, Semicolon:=False, Comma:=True, Space:=False, _
    Other:=False
Set Target = Nothing
End Sub

【29062】Re:【続き】TextToColumns について
お礼  ヒロヒロ123  - 05/9/22(木) 21:04 -

引用なし
パスワード
   ▼awu さん:
>> 列:複数列、行:何百〜何千行 の場合、エラーなしに
>> データを貼り付けることは無理なのでしょうか?
>
>複数列にカンマ区切りのデータがあり、それらを連続した右側列へ展開するとすれば、
>こんな感じのコードで可能と思います。


→ヒロヒロ123です。
 ご丁寧な回答、ありがとうございました。
 
 すばらしいですね!感動!感謝!です。

9152 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free