No.2
- 回答日時:
とりあえず、VBAで作ってみました。
もっとスマートなのは他の方に任せます(^^ゞ
シートが10枚まで対応します。それ以上の場合は、
「10」のところを任意に数字に変えてください。
なお、前提条件として、
(A) データは「Sheet1」、そのほかは「東京」「大阪」・・・というシート名
(B)シート名の「東京」「大阪」・・とデータのB列にある「東京」「大阪」は同じ(空白など入れないで、合致すること)。
(C)シート「東京」などには1行目からデータを並べる。
Sub 分類()
Dim Sh(10) As String
Dim I As Integer
Dim R As Integer
I = 1
For Each WS In Worksheets・・・・(1)
Sh(I) = WS.Name
Sheets(Sh(I)).Activate
Range("A1").Activate・・・・・(2)
I = I + 1
If I > 10 Then Exit For
Next
Sheets("Sheet1").Activate・・・・(4)
R = 2
Cells(R, 2).Activate
Do Until Cells(R, 2).Value = ""・・(5)
For I = 1 To 10
If Sh(I) = Cells(R, 2).Value Then・・(6)
Rows(R).Select
Selection.Copy
Sheets(Sh(I)).Activate
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Activate・・(7)
Sheets("Sheet1").Activate
End If
Next
R = R + 1
Cells(R, 2).Activate
Loop
Range("A1").Activate
End Sub
一応解説しておくと、
(1)の部分は各シートの名前をShという変数に代入しています。これはあとで検索しやすくするためです。
さらにActivateメソッドで各シートに移り、A1セルにカーソルを移動してます(2)。(3)は変数Shが10までしか対応できないので、10以上は無視するために記述しています。
(4)からが本編で、Sheet1に移り、B2セルにカーソルを移動しています。
(5)はカーソルのあるセルの内容が空白になるまで繰り返すという意味です。
(6)で、Sh(すなわちシート名)とセルのデータが一致するかどうか判定して、一致したら、その行を選択して、COPYします。そして一致したShのシートに移り、ペーストします。次に備えカーソルを1つ下げておきます(7)。
ループを抜けたら、Rをひとつカウントアップして、次の行にうつります。
それほど難しくはないと思いますが、いかがでしょう?
No.1
- 回答日時:
手動でやる方法としては、データ入力完了後、
1. オートフィルターで都市ごとのデータ抽出
2. 1.の結果をコピー
3. 各シートへ貼り付け
です。
これを自動化するためにはVBAでやるしかありませんが、比較的規模の大きいコードになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- その他(Microsoft Office) 逆順 3 2023/08/24 09:30
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- 関西 東京から京都・大阪へ安く行く方法を教えてください! 2月12日(日)にお笑いを観に大阪市へ、 13日 6 2023/01/10 11:10
- Excel(エクセル) Excei で、項目の横展開 2 2023/07/15 09:56
- 日本語 「店舗を展開」?「店舗で展開」? 6 2023/05/10 19:45
- Visual Basic(VBA) ワークシートごとに計算結果 2 2022/04/30 22:00
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで 自動的に◯や数字を...
-
【マクロ】2回実行したら、エ...
-
エクセルのツールバーから数値...
-
特定の文字列を含む、住所を抽...
-
Excel 2019 [オプション]の[リボンのユ...
-
祝日と土曜、日曜の合計をカウ...
-
EXCELの散布図で日付が1900年に...
-
マイクロソフトのPADを使ってい...
-
絶対参照
-
エクセルでCtrl+Tでテーブルの...
-
【マクロ】名前を保存する際に...
-
エクセルのクイックアクセスツ...
-
【マクロ】VLOOKUPにて参照元に...
-
Excel分数の表示について
-
【EXCEL】画像の黄色部分の抽出...
-
DATE関数で現在の年齢を出した...
-
Excelについて
-
マクロエクセルのブロック解除
-
Excelピボットテーブルの1行目
-
REGEXREPLACE関数について、
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報