エクセルで下記の様な数字が並んでいます。
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ランキング
-
エクセルVBA、別ブックへ転記す...
-
PowerPointで表の1つの列だけ...
-
エクセルで二つの数字の小さい...
-
SUMIFS関数で絶対値で合...
-
エクセル(勝手に太字になる)
-
2つのエクセルのデータを同じよ...
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
エクセルの表から正の数、負の...
-
エクセルで文字が混じった数字...
-
エクセル 同じ値を探して隣の...
-
VBAで文字列を数値に変換したい
-
エクセルの並び変えで、空白セ...
-
Excelで半角の文字を含むセルを...
-
オートフィルターをかけ、#N/A...
-
エクセル ひらがなの文字を抽出
-
EXCELで 一桁の数値を二桁に
-
ExcelのVBAで連番を振る。
-
エクセルの隣り合う列のグループ化
-
A列がない・・・A列が非表示に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
エクセル 同じ値を探して隣の...
-
VBAで文字列を数値に変換したい
-
エクセルの並び変えで、空白セ...
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
[関数得意な方]教えて下さい・...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 時間帯の重複の有無
-
Excelにてある膨大なデータを管...
おすすめ情報