みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

マクロのソートについて

A列:E列のセルデータがあって、空欄を省いて、コピペでるようにしたのでが、新たに、D列を最初にソート、後からB列・C列を連動させてソートしたいのですが、うまく処理できません。ご教授願えませんか。Sheets("ZZZZZZZ")のデータは1行おきのようなデータです。コピペまではできていますが、その後のソートについてお願いします。

Sub Macro1()
Application.ScreenUpdating = False
Dim Rng As Range
Dim LastRow As Long

'●ここをだけ"B2:B100"指定する

For Each Rng In Sheets("ZZZZZZZ").Range("B2:B100")


If Rng.Value <> "" Then
LastRow = Sheets("QQQQQQQQ").Cells(Rows.Count, "B").End(xlUp).Row
Sheets("QQQQQQQQ").Cells(LastRow + 1, "B").Resize(1, 3).Value = Rng.Resize(1, 3).Value
End If


Next Rng
Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub

投稿日時 - 2019-01-24 13:19:33

QNo.9580927

すぐに回答ほしいです

質問者が選んだベストアンサー

>新たに、D列を最初にソート、後からB列・C列を連動させてソートしたい
Sheets("QQQQQQQQ")に転記したデータをソートするのですね?
Sub Macro1()
 Dim Rng As Range
 Dim LastRow As Long

 Application.ScreenUpdating = False
 For Each Rng In Sheets("ZZZZZZZ").Range("B2:B100")
  If Rng.Value <> "" Then
   LastRow = Sheets("QQQQQQQQ").Cells(Rows.Count, "B").End(xlUp).Row
   Sheets("QQQQQQQQ").Cells(LastRow + 1, "B").Resize(1, 3).Value = Rng.Resize(1, 3).Value
  End If
 Next

 '<<<<< ここからソート処理 >>>>>
 'コピペでるようにしたのでが、新たに、D列を最初にソート、
 '後からB列・C列を連動させてソートしたいのですが
 With Sheets("QQQQQQQQ")
  .Range("B1").CurrentRegion.Sort _
  Key1:=.Range("D2"), Order1:=xlAscending, _
  Key2:=.Range("B2"), Order2:=xlAscending, _
  Key3:=.Range("C2"), Order3:=xlAscending, _
  Header:=xlYes
 End With

 '※それとも、D列、B列、C列と列毎に並べ替えるのなら
 With Sheets("QQQQQQQQ")
  .Range("D1", .Cells(Rows.Count, "D").End(xlUp)).Sort _
  Key1:=.Range("D2"), Order1:=xlAscending, Header:=xlYes
  .Range("B1", .Cells(Rows.Count, "B").End(xlUp)).Sort _
  Key1:=.Range("B2"), Order1:=xlAscending, Header:=xlYes
  .Range("C1", .Cells(Rows.Count, "C").End(xlUp)).Sort _
  Key1:=.Range("C2"), Order1:=xlAscending, Header:=xlYes
 End With
 Application.ScreenUpdating = True
End Sub

ソートは全て昇順(xlAscending)で行っております。
降順ならxlDescendingを設定してください。

投稿日時 - 2019-01-24 20:14:53

お礼

ありがとうございました。できました。降順までも紹介下さり、ご配慮を感じています。今後ともよろしくお願いします。

投稿日時 - 2019-01-25 18:41:37

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問