A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
もう少し詳しく状況と希望する結果を説明されると回答もつきやすいと思います。
A列にシート名が、B列に型番が入っており、A列シート名に該当するシートの型番の列末尾に型番を追加していくということでよろしいでしょうか?
マクロを作りたいとのことですので、ヒントだけ
1、A列を上から順に処理していく
・For Each Rangeオブジェクト in セル範囲 ~ Nextで処理
・先頭を選択、選択したセルの値取得、一つしたのセルを選択 を選択したセルが空白になるまで繰り返す
等の方法があります。
2、選択セル内にある文字列でシートを指定
Sheets(Selection.Value)で可能です。
3、指定列の末尾にデータを追加する
Range(先頭行のセル番地).End(xlDown).Offset(1,0).Select とするとデータが入力された最終行の1つ下のセルを指定できます。
作成する上での不明点等はソースとともに質問してください。
この回答への補足
訂正
×Selection.AutoFilter Field:=1, Criteria1:=y
○Selection.AutoFilter Field:=2, Criteria1:=y
どうも返信ありがとうございます。
結果から言いますとマクロを導き出すことができました。
それと実際のシートの方はちょっと複雑なのでうまく伝わる
か分かりませんが、実際には
在庫シート
品番 品名 当月在庫当月在庫金額
1 △△△ 3 600
2 ××× 5 1200
・・・
みたいなシートが毎月あがってきます。
本当はこの商品には大品目がありまして
例えると
大品目:魚 品番:1 品名:サンマみたいな。
ただ実際の商品は多い上に品名と大品目がぱっとみただけ
で判断出来ないモノが多いので
番号対応表シート
大品目 品番
魚 1
魚 2
鳥 3
・・・
を結びつきが分かる者が作っていきます。
そして下のマクロを試行します。
Sub 仕分君2号()
Sheets(在庫シート).Select
Dim R As Long
Dim x
Dim y
For R = 1 To Cells(Rows.Count, "A").End(xlUp).Row
x = Sheets("番号対応表シート").Cells(R, "A").Value
y = Sheets("番号対応表シート").Cells(R, "B").Value
Sheets(在庫シート).Select
Rows("1:1").Select
Selection.AutoFilter Field:=1, Criteria1:=y
Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Sheets(x).Select
Sheets(x).Cells(Cells(Rows.Count, "A").End(xlUp).Row + 1, "A").Select
ActiveSheet.Paste
Next R
End Sub
すると、在庫シートから魚シート、鳥シート等に項目が自動的に
区分けされて行きます。
そこから魚シートの統計、鳥シートの統計をしていきます。
このマクロの利点は商品が増えても番号対応表シートをアップデートしていけばマクロをいじらなくていい点です。
その為マクロに疎い者が操作しても比較的簡単に操作
できます。
悩んでいた点は結局のところ、シートセレクトのマクロが
うまくいっておらず途中でマクロが止まっていたようです。
1回試行ならどこが悪いのか分かりやすいのですが繰り返し
試行の際に1回目はうまくいっても2回目以降に繋がらない
というデバッグが発生した際の問題点がなかなか見つかりません
でした。
大変ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) エクセル 指定セル繰り返しマクロ 4 2022/06/06 17:08
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
エクセル 上下で列幅を変えるには
-
エクセルのマクロで意図しない...
-
アクティブになっている行をマ...
-
excelのデータで色つき行の抽出...
-
Excel 時刻の並び替え
-
Excel グラフのプロットからデ...
-
セルの色によって条件文をつけ...
-
VBAで色の付いているセルの行削除
-
Excelでカタカナ・ひらがな・英...
-
エクセル マクロ オートフィ...
-
Excel VBA アクティブセルから...
-
Excel2007で、指定範囲の行高さ...
-
[EXCEL]ボタン押す→時刻が表に...
-
サイズの違うセル 並べ変え
-
エクセルマクロ オートSUM(合...
-
特定の文字がある行以外を削除...
-
AのセルとB行を比較して、一致...
-
電話番号の入力方式が違うデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
AのセルとB行を比較して、一致...
-
エクセル 上下で列幅を変えるには
-
Excel ウインドウ枠の固定をす...
-
特定の文字がある行以外を削除...
-
excelのデータで色つき行の抽出...
-
エクセル2016で時間を入力して...
-
excel 小さすぎて見えないセル...
-
EXCELで最後の行を固定
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
エクセルマクロで偶数行(又は...
-
エクセルのセルに指定画像(.jpg...
-
罫線の斜線を自動で引くマクロ
おすすめ情報