![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
エクセルで下記の様な数字が並んでいます。
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) Excelについて 3 2023/07/12 17:47
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
エクセルで最初のスペースまで...
-
PowerPointで表の1つの列だけ...
-
エクセル 文字数 多い順 並...
-
2つのエクセルのデータを同じよ...
-
エクセルの表から正の数、負の...
-
VBAで文字列を数値に変換したい
-
エクセル 同じ値を探して隣の...
-
エクセルで文字が混じった数字...
-
Excelで半角の文字を含むセルを...
-
Excel、市から登録している住所...
-
「B列が日曜の場合」C列に/...
-
オートフィルターをかけ、#N/A...
-
Excelの行、列の左方向シフト、...
-
エクセルの表示画面(シート)...
-
【VBA】特定列に文字が入ってい...
-
EXCELで 一桁の数値を二桁に
-
VBAでセル入力の数式に変数を用...
-
エクセルの項目軸を左寄せにしたい
-
エクセル(勝手に太字になる)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
2つのエクセルのデータを同じよ...
-
エクセルで最初のスペースまで...
-
エクセルVBA、別ブックへ転記す...
-
エクセル 文字数 多い順 並...
-
エクセル(勝手に太字になる)
-
VBAで文字列を数値に変換したい
-
エクセルで文字が混じった数字...
-
エクセルの表から正の数、負の...
-
「B列が日曜の場合」C列に/...
-
Excelで半角の文字を含むセルを...
-
エクセルの並び変えで、空白セ...
-
Excel、市から登録している住所...
-
エクセル 同じ値を探して隣の...
-
EXCELで 一桁の数値を二桁に
-
エクセル初心者です 関数の入れ...
-
A列がない・・・A列が非表示に...
-
オートフィルターをかけ、#N/A...
-
エクセルで、列の空欄に隣の列...
おすすめ情報