Excel VBA質問箱 IV

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

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


63635 / 76732 ←次へ | 前へ→

【17692】Re:文字列のカンマ区切りとワークシート表のセル並び替え
お礼  しん E-MAIL  - 04/9/5(日) 0:04 -

引用なし
パスワード
   ▼かみちゃん さん:
こんばんは、しんです。

かみちゃんご呈示のVBAコード
>
>Sub Macro1()
>  Dim MaxRow As Long, MaxColumn As Integer, MaxColumnStart As Integer
>  Dim RowNo As Long, ColumnNo As Integer
>  
>  '作業用シートにコピー '★
>  Sheets("Sheet1").Copy After:=Sheets("Sheet1") '★
>  '変形前の最終列を取得
>  '表の途中に空白行、空白列がないことが前提
>  MaxColumn = Range("A1").CurrentRegion.Columns.Count
>  MaxColumnStart = MaxColumn
>  '最終列をカンマ区切りで分割
>  Columns(MaxColumn).Select
>  Selection.TextToColumns Destination:=Cells(1, MaxColumn), DataType:=xlDelimited, _
>    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
>    Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
>    :=Array(1, 1), TrailingMinusNumbers:=True
>  '変形後の表の大きさを取得
>  MaxColumn = Range("A1").CurrentRegion.Columns.Count
>  MaxRow = Range("A1").CurrentRegion.Rows.Count
>  '変形処理(列方向へ挿入したセルを行方向へ展開)
>  RowNo = 2
>  Do Until RowNo > MaxRow
>   For ColumnNo = 3 To MaxColumn
>    If Cells(RowNo, ColumnNo).Value <> "" Then
>     If ColumnNo > 3 Then
>      Rows(RowNo).Copy
>      Rows(RowNo + 1).Insert Shift:=xlDown
>      RowNo = RowNo + 1
>      MaxRow = MaxRow + 1
>      Application.CutCopyMode = False
>      Cells(RowNo - 1, ColumnNo).Copy Destination:=Cells(RowNo, 3)
>     End If
>    Else
>     Exit For
>    End If
>   Next
>   RowNo = RowNo + 1
>  Loop
>  '列方向へ挿入した列全体を削除
>  Range(Columns(4), Columns(MaxColumn)).Delete Shift:=xlToLeft
>  '作業シートからSheet2へコピーする。コピーしたら作業シートを削除 '★
>  Range("A1").CurrentRegion.Copy Destination:=Sheets("Sheet2").Range("A1") '★
>  Application.DisplayAlerts = False '★
>  ActiveSheet.Delete '★
>  Application.DisplayAlerts = True '★
>  Sheets("Sheet2").Select '★
>  Range("A1").Select
>
>  '罫線処理が必要であれば、ここから記述
>  '変形後の表全体の罫線処理(マクロの記録により記述)
>  Range("A1").CurrentRegion.Select
>  '〜以下省略 以下のURLに掲載のコードを参照〜
>  'http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=17548;id=excel
>End Sub

で例題の処理を行った結果、3列の場合は正常に変換できることが確認できました。かみちゃんとKeinさんには親身になってお世話を頂き、どうもほんとうにありがとうございました。今後ともよろしくご教示お願いします。
2 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 質問

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