Excel VBA質問箱 IV

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

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


37444 / 76738 ←次へ | 前へ→

【44460】Re:結合されたセルの並び替え
回答  ハチ  - 06/11/17(金) 11:27 -

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

一度、値を結合範囲にセットしながら解除して
並び替え後に再度結合するとかどうでしょう?

A列以外にも結合範囲があるのなら
うまく応用してください。

Option Explicit

Sub Test()
  Dim Ran As Range
  Dim MerR As Range
  Dim R As Range
  Dim buf As String
  
  '結合解除
  For Each Ran In Range("A1:A6")
    If Ran.MergeCells Then
      buf = Ran.MergeArea(1, 1).Value
      Set MerR = Ran.MergeArea
      Ran.UnMerge
      For Each R In MerR
        R.Value = buf
      Next R
      Set MerR = Nothing
    End If
  Next Ran
  '並べ替え
  Range("A:C").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
  OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
  :=xlPinYin
  '再結合
  Application.DisplayAlerts = False
    For Each Ran In Range("A1:A6")
      If Ran.MergeArea(1, 1).Value = Ran.Offset(1).Value Then
        Union(Ran.MergeArea, Ran.Offset(1)).Merge
      End If
    Next Ran
  Application.DisplayAlerts = True
End Sub

0 hits

【44456】結合されたセルの並び替え べに 06/11/17(金) 10:01 質問
【44460】Re:結合されたセルの並び替え ハチ 06/11/17(金) 11:27 回答
【44461】Re:結合されたセルの並び替え Jaka 06/11/17(金) 11:29 発言

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