Excel VBA質問箱 IV

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

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


423 / 13645 ツリー ←次へ | 前へ→

【80393】分類表示を並び替えたい riki7 19/2/9(土) 19:14 質問[未読]
【80394】Re:分類表示を並び替えたい マナ 19/2/9(土) 19:48 発言[未読]
【80395】Re:分類表示を並び替えたい riki7 19/2/10(日) 8:29 発言[未読]
【80396】Re:分類表示を並び替えたい マナ 19/2/10(日) 8:48 発言[未読]
【80398】Re:分類表示を並び替えたい riki7 19/2/10(日) 9:09 発言[未読]
【80400】Re:分類表示を並び替えたい マナ 19/2/10(日) 9:37 発言[未読]
【80402】Re:分類表示を並び替えたい riki7 19/2/10(日) 17:12 お礼[未読]

【80393】分類表示を並び替えたい
質問  riki7  - 19/2/9(土) 19:14 -

引用なし
パスワード
   /は列区切りです。
以下の並びで表があるとします。
1/大大分類名1
2/大分類名1
3/中分類名1
4/小分類名1
品物名X
品物名Y
4/小分類名2
品物名Y
4/小分類名3
品物名X
品物名Z
3/中分類名2
4/小分類名1
品物名X
品物名Y
2/大分類名2
3/中分類名2
4/小分類名1
品物名X
品物名Y
この並びを下記の一覧に変換させるマクロを作るにはどうしたら良いでしょうか
大大分類名1/大分類名1/中分類名1/小分類名1/品物名X
大大分類名1/大分類名1/中分類名1/小分類名1/品物名Y
大大分類名1/大分類名1/中分類名1/小分類名2/品物名Y
大大分類名1/大分類名1/中分類名1/小分類名3/品物名X
大大分類名1/大分類名1/中分類名1/小分類名3/品物名Z
大大分類名1/大分類名1/中分類名2/小分類名1/品物名X
大大分類名1/大分類名1/中分類名2/小分類名1/品物名Y
大大分類名1/大分類名2/中分類名2/小分類名1/品物名X
大大分類名1/大分類名2/中分類名2/小分類名1/品物名Y

【80394】Re:分類表示を並び替えたい
発言  マナ  - 19/2/9(土) 19:48 -

引用なし
パスワード
   ▼riki7 さん:
>/は列区切りです。
>以下の並びで表があるとします。
>1/大大分類名1
>2/大分類名1
>3/中分類名1
>4/小分類名1
>品物名X
>品物名Y

品物名Xとか品物名Yは、A列でしょうか?

    -A-     -B-
1    1    大大分類名1
2    2    大分類名1
3    3    中分類名1
4    4    小分類名1
5    品物名X    
6    品物名Y

【80395】Re:分類表示を並び替えたい
発言  riki7  - 19/2/10(日) 8:29 -

引用なし
パスワード
   質問ありがとうございます
説明不足ですみません
品物名も分類名と同じB列です
▼マナ さん:
>▼riki7 さん:
>>/は列区切りです。
>>以下の並びで表があるとします。
>>1/大大分類名1
>>2/大分類名1
>>3/中分類名1
>>4/小分類名1
>>品物名X
>>品物名Y
>
>品物名Xとか品物名Yは、A列でしょうか?
>
>     -A-     -B-
>1    1    大大分類名1
>2    2    大分類名1
>3    3    中分類名1
>4    4    小分類名1
>5    品物名X    
>6    品物名Y

【80396】Re:分類表示を並び替えたい
発言  マナ  - 19/2/10(日) 8:48 -

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

こんな感じで考えてはどうでしょうか

1)分類名と品物名を覚えておくための配列を用意
  配列(大大分類,大分類,中分類,小分類,品物)
2)元データのB列をB1セルから順番に調べる
3)左隣(A列)が空欄でなかったら、配列の分類名を更新
4)空欄ならば
  4−1)配列の品物名を更新
  4−2)配列(分類名と品物名)を並べ替え先に貼り付ける
5)元データのB列最終セルまで繰り返し

【80398】Re:分類表示を並び替えたい
発言  riki7  - 19/2/10(日) 9:09 -

引用なし
パスワード
   マナ さん:ありがとうございます。
初心者の理解不足にて
マクロ化のイメージがおぼつかなく
もう少し解決への考えを詳しく教えてくださいませんか?
例えば以下を進めていくとそれぞれどういうデータになっていくのでしょうか?
特に3)以下の部分が
>1)分類名と品物名を覚えておくための配列を用意
>  配列(大大分類,大分類,中分類,小分類,品物)
どこに用意すると良いですか?
>2)元データのB列をB1セルから順番に調べる
>3)左隣(A列)が空欄でなかったら、配列の分類名を更新
>4)空欄ならば
>  4−1)配列の品物名を更新
>  4−2)配列(分類名と品物名)を並べ替え先に貼り付ける
>5)元データのB列最終セルまで繰り返し

【80400】Re:分類表示を並び替えたい
発言  マナ  - 19/2/10(日) 9:37 -

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

Option Explicit

Sub test()
  Dim v(1 To 5) As String '1)大大分類,大分類,中分類,小分類,品物
  Dim c As Range
  Dim n As Long
  
  Range("E1").currentredion.ClearContents
  
  For Each c In Range("B1", Range("B1").End(xlDown)) '2)
  
    If c.Offset(, -1).Value <> "" Then       '3)
      v(c.Offset(, -1)) = c.Value
      
    Else                      '4)
      v(5) = c.Value
      n = n + 1
      Range("E" & n).Resize(, 5).Value = v
    End If
    
  Next                        '5)
  
End Sub


  

【80402】Re:分類表示を並び替えたい
お礼  riki7  - 19/2/10(日) 17:12 -

引用なし
パスワード
   マナさんへ

I am grateful for your support
CurrentRegion
の勉強にもなりました、。
嬉しい!
今後もよろしくお願いいたします

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