エクセルでのデータの並べ替えについて質問です。
以下のようにA、B列に縦に並んでいるデータを、A列の値が同じもの同士で区切って横に並べていくというのをマクロでできないかと試しているのですがなかなかうまくいきません。
どなたかお知恵を貸していただけないでしょうか。よろしくお願いします。
A列 B列
a 100
a 150
a 200
b 180
b 110
c 120
c 160
↓
A列 B列 C列 D列 E列 F列
a 100 b 180 c 120
a 150 b 110 c 160
a 200
No.2ベストアンサー
- 回答日時:
これで、できたっぽい。
Sub sample()
Dim i As Long, j As Long
i = 1
j = 1
Do While Cells(i + 1, j) <> ""
If Cells(i, j) <> Cells(i + 1, j) Then
Range(Cells(i + 1, j), Cells(Cells(Rows.Count, j).End(xlUp).Row, j + 1)).Cut Cells(1, j + 2)
i = 0: j = j + 2
End If
i = i + 1
Loop
End Sub
No.3
- 回答日時:
元のデータのシート名をSheet1、
並べ替えた結果のシート名をSheet2とします。
以下のマクロを標準モジュールに登録して下さい。
Public Sub 並べ替え()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim maxrow As Long
Dim wrow As Long
Dim row2 As Long
Dim col2 As Long: col2 = -1
Dim key As String
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
sh2.Cells.ClearContents
maxrow = sh1.Cells(Rows.Count, "A").End(xlUp).Row
key = ""
prev_key = ""
For wrow = 1 To maxrow
key = sh1.Cells(wrow, "A").Value
If key <> prev_key Then
row2 = 1
col2 = col2 + 2
End If
sh2.Cells(row2, col2).Resize(, 2).Value = sh1.Cells(wrow, "A").Resize(, 2).Value
row2 = row2 + 1
prev_key = key
Next
MsgBox ("完了")
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelで横書き50行の漢字テストデータを縦書きのテスト問題にしたい。 6 2022/04/27 15:03
- Excel(エクセル) Googleスプレッドシートの割合の関数と円グラフの並べ替えについて 1 2022/07/22 17:31
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- その他(Microsoft Office) エクセルで串刺ししたシートの並べ替えをしたいです 4 2023/02/14 11:59
- Excel(エクセル) Excel 郵便番号順に並び変えたい 同じ番号が複数あるとき 4 2022/04/28 18:35
- その他(Microsoft Office) エクセルソートと抽出について 3 2022/10/22 22:09
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセル 文字数 多い順 並...
-
Excelで半角の文字を含むセルを...
-
エクセルで最初のスペースまで...
-
EXCELで 一桁の数値を二桁に
-
エクセル 時間帯の重複の有無
-
エクセルで文字が混じった数字...
-
エクセルの項目軸を左寄せにしたい
-
エクセルの表から正の数、負の...
-
Excel、市から登録している住所...
-
2つのエクセルのデータを同じよ...
-
エクセル 同じ値を探して隣の...
-
「B列が日曜の場合」C列に/...
-
文字列に数字を含むセルを調べたい
-
【VBA】特定列に文字が入ってい...
-
VBAで文字列を数値に変換したい
-
エクセル(勝手に太字になる)
-
Excel 文字列を結合するときに...
-
エクセルの並び変えで、空白セ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセル(勝手に太字になる)
-
エクセル 文字数 多い順 並...
-
エクセルで最初のスペースまで...
-
エクセルで文字が混じった数字...
-
2つのエクセルのデータを同じよ...
-
Excelで半角の文字を含むセルを...
-
エクセルの表から正の数、負の...
-
エクセルの項目軸を左寄せにしたい
-
Excel、市から登録している住所...
-
「B列が日曜の場合」C列に/...
-
EXCELで 一桁の数値を二桁に
-
文字列に数字を含むセルを調べたい
-
エクセルで、列の空欄に隣の列...
-
エクセルの並び変えで、空白セ...
-
VBAで文字列を数値に変換したい
-
エクセル 時間帯の重複の有無
-
エクセルの関数(日数の平均の...
-
VBAでセル入力の数式に変数を用...
おすすめ情報
ありがとうございます。
バラバラにはなっておらず、必ずひとかたまりになっています。