エクセル 2002 です。
シートの数は、必ず 36 以下です。
下記例は、
1、「 頭の AK 」 は 必ず、 全部同じです。
2、「 数字部分の2桁 」 は、 必ず、 01 ~ 10 です。
3、「 * 」 は、 必ず、 6 桁 です。
4、たとえば下記例の 「 AK01****** 」 は、
「 AK01****** だけの見出し全部 ( AK01 だけが全く同じのデータが必ず続いてます) 」
を
「 01 の エリア 」 と 表現させて頂ます。
5、この エリア は 必ず、2つ か 3つ です。( 下記例では、エリア は 3つ です)
この エリア順 を 希望順に、 「 別ブック2 」 へ貼り付けたいのです。
何卒、ご教授くださいませ。
---例----------------------------------------------
ブック1 ( エリア順が 01、04、10 です )
シート見出し
AK01****** ・・ AK01****** AK04****** ・・ AK04****** AK10****** ・・ AK10******
別ブック2 ( エリア順を 10、04、01 にしたいです )
シート見出し
AK10****** ・・ AK10****** AK04****** ・・ AK04****** AK01****** ・・ AK01******
No.1ベストアンサー
- 回答日時:
> 希望順に、 「 別ブック2 」 へ貼り付けたいのです。
「希望順」とは、シート名の昇順 で並べ替えることのように解釈するのですが、
もし、それで宜しければ、こんな感じで如何でしょうか。
Sub ShCopySort()
'全シートを新ブックへコピーし、シート名で並べ替え
Dim N As Integer
Dim M As Integer
Worksheets.Copy
For N = 2 To Worksheets.Count
For M = 1 To N - 1
If Worksheets(M).Name > Worksheets(N).Name Then
Worksheets(N).Move before:=Worksheets(M)
Exit For
End If
Next M
Next N
End Sub
この回答への補足
ご回答、誠に有難うございます。
>「希望順」とは、シート名の昇順 で並べ替えることのように解釈するのですが、
昇順だけとは、限りません。
質問内容不足で、すみません。
---他の例----------------------------------------------
ブック1( エリア順が 02、05、10 です )
シート見出し
AK02****** ・・ AK02****** AK05****** ・・ AK05****** AK10****** ・・ AK10******
ブック2( エリア順を 10、02、05 にしたいです )
シート見出し
AK10****** ・・ AK10****** AK02****** ・・ AK02****** AK05****** ・・ AK05******
------------------------------------------------
補足
1、 全部で、何通りの組合せが存在するか ?
例えば、
今回の質問の「 1通り 」 は、エリア順 「 1・2・3 」 を → 「 3・2・1 」にしました。
今回の例を、1通り の希望順 と しますと、
1、 例えば、「エリア が 3つ の場合 」の、希望順は、全部で 「 5通り 」 となります。
エリア順 「 1・2・3 」 → 「 3・2・1 」にします。
エリア順 「 1・2・3 」 → 「 3・1・2 」にします。
エリア順 「 1・2・3 」 → 「 2・3・1 」にします。
エリア順 「 1・2・3 」 → 「 2・1・3 」にします。
エリア順 「 1・2・3 」 → 「 1・3・2 」にします。
エリア順 「 1・2・3 」 → 「 1・2・3 」にします。× 同じなので不必要。
2、 例えば、「エリア が 2つ の場合 」の、希望順は、全部で 「 1通り 」 となります。
エリア順 「 1・2 」 → 「 2・1 」にします。
エリア順 「 1・2 」 → 「 1・2 」にします。× 同じなので不必要。
--最終的には下記へつなげたいと考えております---------------
Sub 見出し並び替え()
Dim sort_key As String
Dim sDataArray As Variant
Dim i As Long
Dim j As Long
sort_key = InputBox("ソートキーを入力してください" & vbCrLf & "10,04,01 のような感じで入力してください")
・
・
End Sub
お礼が、遅くなって誠に申し訳ありませんでした。
未熟なりに、ご回答コードを試行錯誤してました。
まだ完全では、ありませんが、複数通りコードで可能じゃないかと思います。
どうも有難うございました。
No.2
- 回答日時:
こんにちは。
どうやら回答がつかないようですね。
oshietecho-dai さんのご質問は、ここ最近のものはすべてみていますが、なかなか、回答がつけにくい気がしました。今回(前回)のご質問は、あるレベル以上の人からすれば、それほど難しいものではありません。
同じような質問を繰り返すと、いままでの常連さんは回答をつけなくなってしまいます。なるべく、同系の質問は一度キリにしてしてください。それと、「Sub 見出し並び替え()
」は、ご自身のものですか?もし、そうでしたら、前回の方の説明をもう少し詳しくさせていただきます。
配列用の変数を、ファイル名を配列に入れます。
それを、私ならは、バブル・ソートアルゴリズムを使います。そして、該当しないシートの存在を考慮して、シートの Index 1 のところで、配列変数の添え字の上(Ubound)から、順に下位に入れていきます。
次に、その配列変数を、Filter 関数を使って、抜き出して、それを再び、同じようにシートの並べ替えをしていけば出来上がります。
つまり、シートの並べ替えと、ユーザーオプションの並べ替えは、同じ流れの中で行います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 フーリエ変換の振幅について 1 2022/09/04 08:56
- DIY・エクステリア MAXの塗装に特化したAK-L1270E2Pについて 2 2023/03/16 23:58
- 数学 数Bの数列の問題です。 ピンクの蛍光ペンを引いたところの意味がわかりません。 なんで全ての自然数1, 4 2022/07/28 10:58
- 事件・事故 昔アメリカに住んでた頃、確かロサンゼルスだったと思いますが、銀行強盗か何かの凄い事件のニュース映像を 3 2022/09/08 21:14
- 寮・ドミトリー・シェアハウス 株式会社AKハウスについて 2 2022/10/10 07:08
- R&B・ヒップホップ HIPHOPでおすすめの音源教えて下さい! 今まではバトルとバトラーの音源ばっか聞いてました! 最近 5 2023/01/25 17:49
- 数学 indicator func 2 2022/12/01 13:53
- その他(ゲーム) 座面高が低いゲーミングチェアを探しているのですがおすすめメーカーありましたら教えてください。足が短い 2 2023/03/09 21:43
- 高校 数学1 6 2022/07/02 10:54
- 電気工事士 リングスリーブ用圧着工具について 2 2022/11/01 17:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでブック内の倍率がバ...
-
EXCELで複数のシートを一度に「...
-
特定のシートのみ再計算させな...
-
エクセルで複数のシートに画像...
-
エクセル シート同士の引き算
-
SUMIF関数【複数のシート...
-
エクセルのシー名を二段表示に...
-
EXCELの「シートの見出し」のフ...
-
エクセル シートのグループ化...
-
アクセスからエクセルのシート...
-
エクセルの2つのシートを並び...
-
エクセルでシート数が分からな...
-
複数シートの選択解除の方法
-
Excelでの複数シートにまたがる...
-
ワークシートそのものの色を変...
-
DATE関数 4月31日などのあ...
-
エクセルでリンク貼り付けした...
-
エクセルのシートが消えた
-
Accessのテーブルを既存のExcel...
-
エクセル、別のシートの表をポ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルで複数のシートに画像...
-
特定のシートのみ再計算させな...
-
エクセルでブック内の倍率がバ...
-
ワークシートそのものの色を変...
-
【ExcelVBA】マクロの入ったシ...
-
エクセルの2つのシートを並び...
-
EXCELの図形(テキストボックス)...
-
ハイパーリンクでジャンプした...
-
エクセルのシート連番の振り直し
-
特定の複数のシートに同じ処理...
-
エクセルのシー名を二段表示に...
-
Wordで差し込み印刷時に表示す...
-
エクセルで、シートの名前を変...
-
エクセルでリンク貼り付けした...
-
エクセル、特定のシートにパス...
-
accessへエクセルの複数のシー...
-
Accessのテーブルを既存のExcel...
-
【Excel VBA】データ貼り付け先...
-
EXCELの「シートの見出し」のフ...
おすすめ情報