Excel VBA質問箱 IV

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

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


11951 / 13646 ツリー ←次へ | 前へ→

【13154】並び替えの後... 初挑戦 04/4/24(土) 17:29 質問[未読]
【13155】Re:並び替えの後... Hirofumi 04/4/24(土) 18:04 回答[未読]
【13163】Re:並び替えの後... 初挑戦 04/4/25(日) 11:28 お礼[未読]

【13154】並び替えの後...
質問  初挑戦  - 04/4/24(土) 17:29 -

引用なし
パスワード
   最近VBAを勉強し始めてまだわからないことばかりです。
どうかご指導をよろしくお願いします。
下記のような表を作成し、メーカーごと並び替えを行いました。
メーカー   商品名   金額
A社     ○○○   2,000
A社     ○×△    200
A社     ×××   1,000
B社     ○×△    300

と並び替えをしてA社の一番上のみ残して残り二つのA社は、空白に
したいのです。
完成図
メーカー   商品名   金額
A社     ○○○   2,000
       ○×△    200
       ×××   1,000
B社     ○×△    300
とする場合には、どの様な作業をさせればいいのでしょうか?
ご助言お待ちしております。

【13155】Re:並び替えの後...
回答  Hirofumi E-MAIL  - 04/4/24(土) 18:04 -

引用なし
パスワード
   表は下記のような位置とします
 A      B      C
1 メーカー   商品名   金額
2 A社     ○○○   2,000
3 A社     ○×△    200
4 A社     ×××   1,000
5 B社     ○×△    300

単純な方法としては、

Public Sub Test()

  Dim i As Long
  Dim vntData As Variant
  
  vntData = Range(Cells(1, "A"), _
        Cells(65536, "A").End(xlUp)).Value
  
  For i = UBound(vntData, 1) To 2 Step -1
    If vntData(i, 1) = vntData(i - 1, 1) Then
      vntData(i, 1) = ""
    End If
  Next i
  
  Cells(1, "A").Resize(UBound(vntData, 1)).Value = vntData
  
End Sub

と成ります

【13163】Re:並び替えの後...
お礼  初挑戦  - 04/4/25(日) 11:28 -

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

ありがとうございました。
できました。
これで何とか作りたいものが作ることができました。
本当にありがとうございました。

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