No.2ベストアンサー
- 回答日時:
こんばんは!
VBAでの一例です。
>例えば、
>1AB、1BD、2EF、3HI…
>と、続く表があるのですが
元データは↓の画像のような配置でSheet1にあるとします。
(A列に抽出したいデータが入っている)
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から
Dim i As Long, k As Long, lastRow As Long, lastCol As Long, str As String
With Worksheets(1)
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
lastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
Application.ScreenUpdating = False
.Range("A:B").Insert
.Range("B1") = "ダミー"
For i = 2 To lastRow
For k = 1 To Len(.Cells(i, "C"))
str = Mid(.Cells(i, "C"), k, 1)
If StrConv(str, vbNarrow) Like "[0-9]" Then
.Cells(i, "B") = .Cells(i, "B") & str
Else
Exit For
End If
Next k
Next i
.Range("B:B").AdvancedFilter Action:=xlFilterCopy, copytorange:=.Range("A1"), unique:=True
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
If Worksheets.Count < i Then
Worksheets.Add after:=Worksheets(Worksheets.Count)
End If
If Worksheets(i).Name <> .Cells(i, "A") Then
Worksheets(i).Name = .Cells(i, "A")
Worksheets(i).Cells.Clear
.Range("A1").AutoFilter field:=2, Criteria1:=.Cells(i, "A")
Range(.Cells(1, "C"), .Cells(lastRow, lastCol + 2)).SpecialCells(xlCellTypeVisible).Copy Worksheets(i).Range("A1")
End If
Next i
.AutoFilterMode = False
.Range("A:B").Delete
Application.ScreenUpdating = True
End With
End Sub 'この行まで
※ A列数値は必ず最初に入っているとします。
※ Sheet1のデータ変更があるたびにマクロを実行する必要があります。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 棚卸表の前月比の関数等あれば教えてください 2 2023/05/02 18:34
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- Excel(エクセル) Excelで漢字人名が勝手に並び変わる 2 2023/01/14 22:14
- Excel(エクセル) Excelで日付のグラフへの表示 2 2022/04/15 11:04
- Excel(エクセル) 【エクセル】並び替えからの並び替え方法 7 2022/07/22 09:46
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2022/03/24 16:07
- Excel(エクセル) 【詳しい方教えて下さい】EXCEL条件に一致する値の複数抽出 9 2022/04/29 10:56
- Excel(エクセル) Excelの並び替え(先頭の文字以外を基準に並び替えたい) 3 2023/07/07 22:21
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(Excel2003)すぐ左の最後の行...
-
Excelで連続印刷をするマクロ
-
条件に応じて特定の行を非表示...
-
Excelでセル内の数式は残し値だ...
-
Excel2007で、太字にした行のみ...
-
Excel(VBA)データ入力に応じて...
-
「マクロ」の足し算の式を教え...
-
wordのvbaでハイパーリンク設定...
-
excel ある部分だけをコピペし...
-
並べ替えのマクロで対象行の範...
-
Excel にて非表示行を探すワー...
-
エクセル VBA 小数点を含む数字...
-
VBA コピーを有効行までループ...
-
行の入れ替えってどうするの?
-
エクセルで数値を簡単に加算したい
-
エクセルで特定文字列の色つけ
-
エクセルで全ての数字間にカン...
-
値貼り付けをしても書式も貼り...
-
〈VBA〉 CSVデータの指定列を読...
-
Excelで同じシートのコピーを一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件に応じて特定の行を非表示...
-
Excel2007で、太字にした行のみ...
-
「マクロ」の足し算の式を教え...
-
Excelで連続印刷をするマクロ
-
Excelでセル内の数式は残し値だ...
-
エクセル VBA 小数点を含む数字...
-
エクセルで、行ごとの並び替え...
-
エクセルで全ての数字間にカン...
-
Excel(VBA)データ入力に応じて...
-
Excel にて非表示行を探すワー...
-
Excel2007 セルを右方向に削除...
-
VBA コピーを有効行までループ...
-
Excelで周期的に列を削除する方法
-
excel ある部分だけをコピペし...
-
wordのvbaでハイパーリンク設定...
-
エクセルで連番をマクロで
-
値貼り付けをしても書式も貼り...
-
エクセル マクロ オートシェ...
-
Excel 2013 文字列内の文字重複...
-
並べ替えのマクロで対象行の範...
おすすめ情報