Excel VBA質問箱 IV

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

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


14192 / 76738 ←次へ | 前へ→

【68045】Re:文字を繋げてから、縦列に並び替える
回答  UO3  - 11/1/27(木) 11:09 -

引用なし
パスワード
   ▼ケイ さん:
3ヶ所追加、2ヶ所変更しています。

Sub Sample2()
  Dim mRow As Long
  Dim i As Long, k As Long
  Dim v() As String
  Dim c As Range
  Dim sh2 As Worksheet         '<==追加
  
  Application.ScreenUpdating = False
  Set sh2 = Sheets("Sheet2")      '<==追加
  i = 1
  With Sheets("Sheet1")
    mRow = WorksheetFunction.Max(.Range("A" & .Rows.Count).End(xlUp).Row, _
                   .Range("C" & .Rows.Count).End(xlUp).Row, _
                   .Range("E" & .Rows.Count).End(xlUp).Row)
  
    .Columns("G").ClearContents
    sh2.Columns("L").ClearContents  '<==変更
  
    For Each c In .Range("A1:A" & mRow)
      k = 0
      ReDim v(1 To 3)
      If c.Value = 1 Then
        k = k + 1
        v(k) = "○○○"
      End If
      If c.Offset(0, 2).Value = 1 Then
        k = k + 1
        v(k) = "XXX"
      End If
      If c.Offset(0, 4).Value = 1 Then
        k = k + 1
        v(k) = "△△△"
      End If
      If k > 0 Then
        ReDim Preserve v(1 To k)
        c.Offset(0, 6).Value = Join(v, ",") 'G列
        sh2.Cells(i, "L").Resize(k).Value = WorksheetFunction.Transpose(v)  '<==変更
        i = i + k
      End If
    Next
  End With
 
  Set sh2 = Nothing          '追加
  Application.ScreenUpdating = True
 
End Sub

2 hits

【68028】文字を繋げてから、縦列に並び替える ケイ 11/1/26(水) 13:55 質問
【68034】Re:文字を繋げてから、縦列に並び替える Jaka 11/1/26(水) 15:20 発言
【68037】Re:文字を繋げてから、縦列に並び替える ケイ 11/1/26(水) 17:50 お礼
【68042】Re:文字を繋げてから、縦列に並び替える Jaka 11/1/27(木) 9:21 発言
【68046】ひょっとして。 Jaka 11/1/27(木) 11:10 発言
【68038】Re:文字を繋げてから、縦列に並び替える UO3 11/1/26(水) 20:44 回答
【68039】Re:文字を繋げてから、縦列に並び替える UO3 11/1/26(水) 21:57 発言
【68044】Re:文字を繋げてから、縦列に並び替える ケイ 11/1/27(木) 10:39 お礼
【68045】Re:文字を繋げてから、縦列に並び替える UO3 11/1/27(木) 11:09 回答
【68047】Re:文字を繋げてから、縦列に並び替える ケイ 11/1/27(木) 11:19 お礼

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