
エクセルで下記の様な数字が並んでいます。
A列の下1桁の数字は上から順に増えていて、ある数字で1に戻りまた増えています。
その数字は毎回同じではなく、6までの場合もあれば10までの場合もあります。
下記の例では上から6行、次は4行、次は7行と下1桁の数字によってグループ分け出来ますよね?
それで上から6行目までのB列の値(462~530)をコピーしてSheet2のA1から横方向に並べます。
その次は7行目から10行目までのB列の値(356~487)をコピーしてSheet2のA2から横方向に並べます。
その次も同じように並べます。
B列が空欄の場合もありますが、その場合はそのままSheet2にも空欄のセルを作ります。
1グループ全部のB列が空欄でもそのままSheet2に空欄の行を作ります。
この動作をマクロで出来る式を教えて頂けないでしょうか?
A列 B列
0213240101 462
0213240102 387
0213240103 556
0213240104 585
0213240105 536
0213240106 530
0213240201 356
0213240202 632
0213240203 486
0213240204 487
0213240301 586
0213240302 670
0213240303 619
0213240304
0213240305 645
0213240306 487
0213240307 651
0213240401
0213240402
0213240403
0213240501 455
0213240502 623
0213240503 411
Sheet2
A列 B列 C列 D列 E列 F列 G列
462 387 556 585 536 530
356 632 486 487
586 670 619 645 487 651
455 623 411
No.1ベストアンサー
- 回答日時:
こんばんは!
一例です。
標準モジュールにコピー&ペーストしてマクロを実行してみてください。
Sub Sample1()
Dim i As Long, k As Long, cnt As Long, wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
For i = 1 To wS1.Cells(Rows.Count, 1).End(xlUp).Row
cnt = i
Do While wS1.Cells(cnt, 1) + 1 = wS1.Cells(cnt + 1, 1)
cnt = cnt + 1
Loop
Range(wS1.Cells(i, 2), wS1.Cells(cnt, 2)).Copy
wS2.Activate
k = k + 1
wS2.Cells(k, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
i = cnt
Next i
End Sub
※ 各グループは連番になっているという前提です。
(下1桁という判断ではありません)
こんな感じではどうでしょうか?m(_ _)m
この回答への補足
回答ありがとうございました。
マクロを実行しましたが、Sheet2のA1から下方向に、ペーストされてしまいます。
どこを修正すれば良いのでしょうか?
私の説明不足でした、下1桁ではなく右端の数字が1~10や1~15までなどの場合は下2桁までが続いてることになりますよね。
すみません、再度宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PowerPointで表の1つの列だけ...
-
【画像あり】【関数】指定した...
-
エクセルで二つの数字の小さい...
-
オートフィルターをかけ、#N/A...
-
「B列が日曜の場合」C列に/...
-
2つのエクセルのデータを同じよ...
-
EXCELで 一桁の数値を二桁に
-
Excelで半角の文字を含むセルを...
-
【エクセルの並び替え】末尾の...
-
エクセルのセル内の文字の一部...
-
【エクセル】指定した文字以外...
-
エクセルで2列のセルを連続して...
-
お店に入るために行列に並んで...
-
エクセルの項目軸を左寄せにしたい
-
エクセルの表示画面(シート)...
-
【excelVBA】Findメソッドで検...
-
エクセルで最初のスペースまで...
-
文字を入力したら数値が自動入...
-
妊娠祝い もらったことある
-
行を飛ばして検索条件にあう個...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
2つのエクセルのデータを同じよ...
-
Excelで半角の文字を含むセルを...
-
EXCELで 一桁の数値を二桁に
-
エクセル(勝手に太字になる)
-
エクセル 文字数 多い順 並...
-
エクセルで最初のスペースまで...
-
オートフィルターをかけ、#N/A...
-
エクセル 同じ数字を他の列に自...
-
エクセル 同じ値を探して隣の...
-
「B列が日曜の場合」C列に/...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
エクセルの項目軸を左寄せにしたい
-
Excel 文字列を結合するときに...
-
エクセルの表から正の数、負の...
-
【VBA】特定列に文字が入ってい...
-
エクセルで、列の空欄に隣の列...
-
オートフィルターの絞込みをし...
おすすめ情報