Excel VBA質問箱 IV

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

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


63663 / 76738 ←次へ | 前へ→

【17670】Re:文字列のカンマ区切りとワークシート表のセル並び替え
質問  しん E-MAIL  - 04/9/4(土) 19:07 -

引用なし
パスワード
   ▼Kein さん:

こんばんは、さっそく教えて頂いたVBAコード

>Sub MyData_Split()
>  Dim i As Long, j As Long
>  Dim Ary1() As String, Ary2() As String
>  Dim SpAry As Variant, V As Variant
> 
>  With Sheets("Sheet1")
>   For i = 1 To .Range("A1").End(xlDown).Row
>     If IsEmpty(.Cells(i, 2).Value) Then
>      ReDim Preserve Ary1(j): Ary1(j) = .Cells(i, 1).Value
>      ReDim Preserve Ary2(j): Ary2(j) = ""
>      j = j + 1
>     Else
>      If Len(.Cells(i, 2).Value) = 1 Then
>        ReDim Preserve Ary1(j): Ary1(j) = .Cells(i, 1).Value
>        ReDim Preserve Ary2(j): Ary2(j) = .Cells(i, 2).Value
>        j = j + 1
>      Else
>        SpAry = Split(.Cells(i, 2).Value, ",")
>        For Each V In SpAry
>         ReDim Preserve Ary1(j): Ary1(j) = .Cells(i, 1).Value
>         ReDim Preserve Ary2(j): Ary2(j) = V
>         j = j + 1
>        Next
>        Erase SpAry
>      End If
>     End If
>   Next i
>  End With
>  With Sheets("Sheet2")
>   .Cells(1, 1).Resize(UBound(Ary1) + 1).Value = _
>   WorksheetFunction.Transpose(Ary1)
>   .Cells(1, 2).Resize(UBound(Ary2) + 1).Value = _
>   WorksheetFunction.Transpose(Ary2)
>   .Cells(1, 1).CurrentRegion.Borders.LineStyle = 1
>  End With
>  Erase Ary1, Ary2
>End Sub
>
で、前掲例題

┌─┬─┬───┐
│A │B │C   │
├─┼─┼───┤
│1 │あ│a   │
├─┼─┼───┤
│2 │い│   │
├─┼─┼───┤
│3 │う│b,c  │
├─┼─┼───┤
│4 │え│d   │
├─┼─┼───┤
│5 │お│e,f,g │
└─┴─┴───┘

を処理してみたのですが

ワークシートSheet2に変換された表は

┌─┬─┐
│A │B │
├─┼─┤
│1 │あ│
├─┼─┤
│2 │い│
├─┼─┤
│3 │う│
├─┼─┤
│4 │え│
├─┼─┤
│5 │お│
└─┴─┘


のようになってしまい、私が望んでいた処理結果

┌─┬─┬───┐
│A │B │C   │
├─┼─┼───┤
│1 │あ│a   │
├─┼─┼───┤
│2 │い│   │
├─┼─┼───┤
│3 │う│b   │
├─┼─┼───┤
│3 │う│c   │
├─┼─┼───┤
│4 │え│d   │
├─┼─┼───┤
│5 │お│e   │
├─┼─┼───┤
│5 │お│f   │
├─┼─┼───┤
│5 │お│g   │
└─┴─┴───┘


のようにはなりませんでした。すみませんが、一度この例題でVBAコードをチェックして頂けませんか?
0 hits

【17647】文字列のカンマ区切りとワークシート表のセル並び替え しん 04/9/4(土) 0:13 質問
【17650】Re:文字列のカンマ区切りとワークシート表... Kein 04/9/4(土) 1:08 回答
【17670】Re:文字列のカンマ区切りとワークシート表... しん 04/9/4(土) 19:07 質問
【17673】Re:文字列のカンマ区切りとワークシート表... かみちゃん 04/9/4(土) 19:37 回答
【17676】Re:文字列のカンマ区切りとワークシート表... しん 04/9/4(土) 20:36 質問
【17677】Re:文字列のカンマ区切りとワークシート表... かみちゃん 04/9/4(土) 20:55 回答
【17681】Re:文字列のカンマ区切りとワークシート表... しん 04/9/4(土) 21:57 質問
【17682】Re:文字列のカンマ区切りとワークシート表... かみちゃん 04/9/4(土) 22:18 発言
【17683】Re:文字列のカンマ区切りとワークシート表... かみちゃん 04/9/4(土) 22:41 回答
【17684】Re:文字列のカンマ区切りとワークシート表... Kein 04/9/4(土) 22:50 回答
【17685】Re:文字列のカンマ区切りとワークシート表... Kein 04/9/4(土) 22:56 回答
【17686】Re:文字列のカンマ区切りとワークシート表... Kein 04/9/4(土) 23:00 発言
【17687】Re:文字列のカンマ区切りとワークシート表... かみちゃん 04/9/4(土) 23:08 発言
【17688】Re:文字列のカンマ区切りとワークシート表... Kein 04/9/4(土) 23:42 発言
【17690】Re:文字列のカンマ区切りとワークシート表... Kein 04/9/4(土) 23:48 回答
【17691】Re:文字列のカンマ区切りとワークシート表... しん 04/9/4(土) 23:59 お礼
【17678】Re:文字列のカンマ区切りとワークシート表... Kein 04/9/4(土) 21:23 回答
【17654】Re:文字列のカンマ区切りとワークシート表... かみちゃん 04/9/4(土) 11:30 回答
【17671】Re:文字列のカンマ区切りとワークシート表... かみちゃん 04/9/4(土) 19:25 回答
【17674】Re:文字列のカンマ区切りとワークシート表... しん 04/9/4(土) 19:58 質問
【17675】Re:文字列のカンマ区切りとワークシート表... かみちゃん 04/9/4(土) 20:29 回答
【17680】Re:文字列のカンマ区切りとワークシート表... かみちゃん 04/9/4(土) 21:30 回答
【17692】Re:文字列のカンマ区切りとワークシート表... しん 04/9/5(日) 0:04 お礼
【17672】Re:文字列のカンマ区切りとワークシート表... しん 04/9/4(土) 19:36 質問

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