マクロ初心者です。よろしくお願いします。
B列⇒品名、C列⇒型式、D列⇒価格で、追加入力はB列の一番下にしていきます。
【やりたい事】
品名でフィルターをかけたものを別シート『あ』~『Z』に貼り付けたい。
(添付画像は昇順で並べ替えてあります)
A~Zで始まる品名は『読み』は無視してあくまでA、B…の表示優先です。
商品の追加は不定期で、マクロをかけるタイミングもまちまちですので
前の別シート『あ』~『Z』のデータは上書きして構いません。
不明な点などありましたらご指摘ください。
お手数かけますが、よろしくお願いします。
No.3
- 回答日時:
D列に振り仮名が取得できたのですね。
だとすれば、これをもとに各シートに割り振ることが出来ると思われます。
ただ、申し訳ないのですが、さきほどのシート作成の時に、ひらがなで作成する話を
してしまいました。
各シート名は、いま作成したD列と揃えてカタカナにしておいたほうが良いでしょうから、
すみませんが、カタカナに変えていただいてはどうでしょうか。
補足No.2 の画面を見る限り、「あ」は3枚目のシートとなっていますが、それ以降のひらがなを
全部カタカナに変えるということで、以下のコードでやってみてください。
'----------------------------------------------------------
Sub b_カタカナに変更()
Dim k As Integer
Dim Nam As String
For k = 3 To Worksheets.Count
Nam = Worksheets(k).Name
Nam = Application.GetPhonetic(Nam)
Worksheets(k).Name = Nam
Next k
End Sub
'----------------------------------------------------------
あとは振り分けですね。ちょっと考えてみます。
No.2
- 回答日時:
#1です。
これはもとのシート「入力用」で、どのように昇順並び替えしたのか、というのが
キーポイントとなります。それらを示すコードはどこかに入っていませんか。
なぜなら漢字で始まる商品名、たとえば「安心クッション」は「あ」のように指示
してやらないと意図しない形となる可能性もあります。
「油砥石」は「ゆ」と判定される可能性もあるからです。
振り仮名を取得するならば、=PHONETIC(B5) などでやってもいいかもしれません。
さらに振り分け後も昇順並び替えするならば、どのような順序かを示すコードが無いと
困難かと思われます。
アルファベットは何とかなりそうですが。
そのうえで、45枚のシートを作成し、それぞれのシート名を「あ」「い」などにしておく
必要があります。アルファベットものをまとめるシートは「A」とでも。
これもマクロを使ったほうが早いでしょう。
ある新規ブックを開き、Sheet1のA1から縦に、
A
あ
い
のように、45個頑張って書きましょう。
そのうえで、以下のコードです。
’------------------------------------------------------
Sub a_シート作成()
Dim Ws1 As Worksheet, k As Integer
Set Ws1 = Worksheets(1)
For k = 1 To 45
Worksheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Ws1.Cells(k, 1).Value
Next k
Set Ws1 = Nothing
End Sub
’------------------------------------------------------
このあたりのデータの整備などがしっかりできていれば、
不可能ではなさそうですが、例示の状態だけ、ということであれば、
下準備がかなり要りそうです。
No.1
- 回答日時:
振り分けルールがいまいち不明ですが、B列の品名は何種類くらいあるのでしょうか。
その種類ごとにシートを分けていくと言うのであれば、おびただしい数になるような気がします。
>A~Zで始まる品名は『読み』は無視してあくまでA、B…の表示優先です。
ここもいまいち良く分かりません。
どういう商品名ならば、どこのシートに割り振るのか、そこが不明です。
きちんとした振り分けルールが決まっているならばマクロで可能かと思われます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- その他(Microsoft Office) Excelで該当しない項目(#N/Aの商品名)を簡単に表示・抽出させる方法についてです 1 2022/08/25 22:12
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の色も参照 VLOOKUP
-
ExcelのVlookup関数の制限について
-
VBAで繰り返しコピーしながら下...
-
エクセルで横並びの複数データ...
-
オートフィルタ使用時にCOUNTIF...
-
Excelでの並べ替えを全シートま...
-
VLOOKアップ関数の結果の...
-
Excel の複数シートの列幅を同...
-
エクセルの保護で、列の表示や...
-
SUMPRODUCTにて別シートのデー...
-
【条件付き書式】countifsで複...
-
【VBA】ピボットテーブルを既存...
-
マクロか関数で処理したいので...
-
エクセルの横に並んでいるもの...
-
Excel VBA ピボットテーブルに...
-
エクセル マクロ 標準モジュー...
-
エクセル複数シートのデータを...
-
EXCELでシート1で作ったデータ...
-
エクセルでの名前の定義について
-
accessでexcelを読み込む時のデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
オートフィルタ使用時にCOUNTIF...
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
エクセル関数に詳しい方、教え...
-
【条件付き書式】countifsで複...
-
Excel の複数シートの列幅を同...
-
エクセル マクロ 標準モジュー...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
Excelでの並べ替えを全シートま...
-
VLOOKアップ関数の結果の...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで、チェックボックス...
-
Excel VBA ピボットテーブルに...
-
【エクセル】1列のデータを交...
-
エクセルVBAで、ある文字を含ん...
-
エクセルのブック分割マクロを...
-
【VBA】複数のシートの指定した...
おすすめ情報
soixanteさん、ありがとうございます。
作成するシートは、
『アルファベットのみ』1枚と、『あ~も』の35枚、『や・ゆ・よ』
『ら~ろ』、『わ』の9枚で全部で45枚です
B列の品名はかなりあると思います。
『アルファベットのみ』の中身は、『A~Z』が昇順でならべばOKです。
『あ』で始まる品名には、アルミテープ、アロンアルファ、安心クッション、などいろいろ
あります。
『あ』のシートには、『あ』で始まる品名のみ、昇順でならべたいです。
これでわかりますでしょうか?
ご検討、よろしくお願いします。
soixanteさん、ありがとうございました。
シートを作り、振り仮名をだしてみました。
その振り仮名で、『ア』~『わ』と、アルファベットの『A』~『Z』で
フィルターをかけて、
『ア』で表示されたものをシート『あ』に移動(コピー)させたいです。
以下、『イ』~はそれぞれのシートで、
アルファベットの『A』~『Z』で表示されたものは、シート『A』に移動させたいです。
何度もすみませんが、ご検討、よろしくお願いします。