Excel VBA質問箱 IV

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

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


70960 / 76734 ←次へ | 前へ→

【10276】Re:キーの一致するデータを1行にまとめたい
回答  ちん E-MAIL  - 04/1/15(木) 13:52 -

引用なし
パスワード
   ▼chii さん:
>初めまして。
>(1)sheet1のA列をキーとし、キーの一致するデータを1行にまとめて
>(2)sheet2の結果のようにしたいのですが、どのようにすれば
>いいのでしょうか?ご教授ください。
>よろしくお願いいたします。
>
>
ちんといいます。横から失礼します。
セルが空欄なら、処理終了の手法を取って、いけば汎用性があると思うので、
空欄なら、Exit ForでFor文をぬけるように作ってみました。

Dim i As Long
Dim Old_a1 As String  '*** OLDキー
Dim A1_St1 As Long   '*** データ読み込み開始位置
Dim A1_Et1 As Long   '*** データ読み込み終了位置
Dim j As Integer, j1 As Integer, s1 As Integer, s2 As Integer
  
Old_a1 = ""
s1 = 0  '<--- Sheet2へのセットを開始する行
s2 = 0  '<--- Sheet2へのセットを開始する列

For i = 1 To 65536
 If Sheet1.Cells(i, 1) = "" Then '<-- 空欄ならデータ無しと判断する
  Exit For
 End If
 If Old_a1 <> Sheet1.Cells(i, 1) Then
  If Old_a1 = "" Then '<-- 最初のみ
   A1_St1 = i     '<-- 同一データの開始位置をセット
   A1_Et1 = i     '<-- 同一データの終了位置をセット
   Old_a1 = Sheet1.Cells(i, 1) '<--- キーの保存
  Else
   A1_Et1 = i - 1   '<-- 同一データの終了位置をセット
   Old_a1 = Sheet1.Cells(i, 1) '<--- キーの保存
    
   GoSub Sheet2_SET  '<--- シート2へデータセット
   A1_St1 = i     '<-- 同一データの開始位置をセット
   A1_Et1 = i     '<-- 同一データの終了位置をセット
  End If
 End If
    
Next i

'**** 最後のデータをセットする。
If Old_a1 <> "" Then
 GoSub Sheet2_SET  '<--- シート2へデータセット
End If
Exit Sub

Sheet2_SET:
'**** シート1のデータをシート2へデータセット
s1 = s1 + 1 '<--- Sheet2のデータセットする行
s2 = 0   '<--- Sheet2のデータセットする列
For j1 = 1 To 256  'A列〜IV列まで
  If Sheet1.Cells(A1_St1, j1).Value = "" Then '*** 空欄ならデータなし
   Exit For
  End If
  For j = A1_St1 To A1_Et1
   s2 = s2 + 1
   Sheet2.Cells(s1, s2).Value = Sheet1.Cells(j, j1).Value
   If s2 = 1 Then  '*** A列のデータは1回セットでおしまい。
    Exit For
   End If
  Next j
Next j1
Return

こんな感じでしょうか?参考までに・・・

1 hits

【10261】キーの一致するデータを1行にまとめたい chii 04/1/14(水) 16:12 質問
【10270】Re:キーの一致するデータを1行にまとめたい INA 04/1/15(木) 9:08 回答
【10301】Re:キーの一致するデータを1行にまとめたい chii 04/1/16(金) 15:56 お礼
【10273】Re:キーの一致するデータを1行にまとめたい Jaka 04/1/15(木) 13:17 回答
【10276】Re:キーの一致するデータを1行にまとめたい ちん 04/1/15(木) 13:52 回答
【10303】Re:キーの一致するデータを1行にまとめたい chii 04/1/16(金) 17:10 質問
【10308】Re:キーの一致するデータを1行にまとめたい ちん 04/1/17(土) 9:57 発言
【10309】Re:キーの一致するデータを1行にまとめたい chii 04/1/17(土) 12:39 お礼
【10281】Re:キーの一致するデータを1行にまとめたい kein 04/1/15(木) 14:23 回答
【10287】Re:キーの一致するデータを1行にまとめたい chii 04/1/15(木) 21:57 お礼

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