
エクセルでのデータの並べ替えについて質問です。
以下のように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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VBA エラーの件
Excel(エクセル)
-
excelの数式の書き方について。 以下のような数式をSheet1に書いています。 Sheet1のB
Excel(エクセル)
-
エクセル、日々の集計整理方法。(再送です。)
Excel(エクセル)
-
4
エクセル -より前の数字を切り出して表示
Excel(エクセル)
-
5
excelにて、ある固定値から連番を振りたいが、上限値が異なる連番を振る処理を複数回行いたい場合
Excel(エクセル)
-
6
なぜか正常にマクロが動いていない?
Excel(エクセル)
-
7
エクセルのデータ整形について
Excel(エクセル)
-
8
VBA言語プログラミング
Visual Basic(VBA)
-
9
【マクロ】表への繰り返し転記について
Visual Basic(VBA)
-
10
Sheet1をフィルターで「りんご」を抽出し、Sheet2へ地域を貼り付ける下記マクロを変更して S
Visual Basic(VBA)
-
11
Excel 複数列のある文字を優先して1列に表示したいです
Excel(エクセル)
-
12
Excelのマクロで、特定のセルから順番に値を取得したい
Excel(エクセル)
-
13
【Excelの集計について質問です。】
Excel(エクセル)
-
14
Excelです。 Excelしてたら 点線?みたいのが出て来ました これは何ですか?どうやったら消せ
Excel(エクセル)
-
15
Excel マクロで For 文のインデックスを先に宣言する理由
Excel(エクセル)
-
16
マクロを簡潔にしたい
Excel(エクセル)
-
17
エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい
Excel(エクセル)
-
18
エクセルで列の行の重複の検索方法を教えてください。
Excel(エクセル)
-
19
Excel
Excel(エクセル)
-
20
VBAでのMATCH関数
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
50人を数回、グループ分けする...
-
5
エクセル 同じ値を探して隣の...
-
6
Excel、市から登録している住所...
-
7
エクセル(勝手に太字になる)
-
8
EXCELで 一桁の数値を二桁に
-
9
「B列が日曜の場合」C列に/...
-
10
エクセルで最初のスペースまで...
-
11
エクセル 文字数 多い順 並...
-
12
Excelで半角の文字を含むセルを...
-
13
文字を入力したら数値が自動入...
-
14
エクセルで文字が混じった数字...
-
15
エクセルの項目軸を左寄せにしたい
-
16
エクセル SMALL の機能...
-
17
Word2016でExcelデータを差込し...
-
18
エクセルの表示画面(シート)...
-
19
VBAで文字列を数値に変換したい
-
20
エクセルの並び変えで、空白セ...
おすすめ情報
公式facebook
公式twitter
ありがとうございます。
バラバラにはなっておらず、必ずひとかたまりになっています。