
No.6ベストアンサー
- 回答日時:
こんばんは。
<標準モジュール>
というのは、場所のことです。
Alt キーを押しながら、F11 を押すと、Visual Basic Editor 画面が出てきます。そこで、メニューの[挿入]-[標準モジュール(M)]をクリックしますと、白い画面が現れます。そこに、切り取り線の中のコードを貼り付けます。Web上から直接でも可能です。
後は、同じく、Alt キーを押しながらF11 を押すと、元の画面に戻りますので、
最初に、マウスポインターを、並び替えるをするデータの
左上でも置いてから、
[ツール]-[マクロ]-[マクロ]- SortStringPriority
をクリックすれば、並び替えるはずです。こちらのデータではうまく行っています。
なお、フォーム・ツールのボタンに、このマクロを登録しておけば、メニューから、マクロを呼び出さなくても稼動します。
遅くなって申し訳ありません。
たびたびありがとうございます。
実践してみましたが、A1のデータだけ並び替えられません。
どうしてでしょう?
マウスポインタをデータのどこかに置いて実行しても同じです。
No.5
- 回答日時:
#4 の Wendy02 です。
実害はありませんが、みっともないので、訂正します。
訂正
#For i = 0 To 10 ← ●
# c.Value = Replace(c.Value, Chr(177 + i), i)
# Next i
#Next
下から6行目
For i = 0 To 9
に換えてください。
No.4
- 回答日時:
こんにちは。
Excelの 達人の方たちが、ダメだったとすると、もう、マクロ処理でしかないのかと思います。
>私が試したのは、A、B、C…7、8、9と順に一桁です。
>ソートをかけたいコードは*******-*という形です。
これでは、読み手側の想像の範囲でしかありません。こういうスタイルの表示ですと、解答に結びつかないかもしれません。本来は、データ・サンプルがほしいですね。
まず、今のところ、全部、半角であることを想定しています。そうしないと、かなりややこしくなります。
ともかく、こちらの想像の中で、マクロを作ってみました。マウスポインタを並び替えする列のどこかにおいてから、マクロを実行してください。また、フィールド名(1行目のタイトル)は、必ず、存在するものとして、実行されます。
なお、フォームボタンなどに取り付けると良いかと思います。
'---------------------------------------------------------
'<標準モジュール>
Sub SortStringPriority()
Dim Rng As Range, c As Range, i As Integer
If IsEmpty(ActiveCell) Then Exit Sub
Set Rng = Range(ActiveCell.End(xlUp), _
Cells(65536, ActiveCell.Column).End(xlUp))
Rng.NumberFormatLocal = "@"
Application.ScreenUpdating = False
For Each c In Rng
For i = 0 To 10
c.Value = Replace(c.Value, i, Chr(177 + i))
Next i
Next
Rng.Sort Key1:=Rng.Range("A2"), _
Order1:=xlAscending, _
Header:=xlYes, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom
For Each c In Rng
For i = 0 To 10
c.Value = Replace(c.Value, Chr(177 + i), i)
Next i
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------------------------------
ご回答ありがとうございます。
返事が遅くなり申し訳ありません。
私の技術が未熟で、エクセルのマクロをいじってみましたがよく分かりませんでした。
この標準モジュールをどこかにコピーすればいいんでしょうか?
No.3
- 回答日時:
>一桁です。
1桁であることを好都合に別列に=IF(CODE(MID(A1,8,1))>64,CODE(MID(A1,8,1)),CODE(MID(A1,8,1))+130)
をつくり、この列とともにソートする。130は90-48+1より大であれば他の数でよい。
コンピュターは文字コードの順に並べます。ソフトがうまく便利に並べているように見えるのは、ソフトが修正ソートキーを別に見えないところで作ってくれているからです。
もっとルール性のない並び順なら、VLOOKUPでも使って、キーを別途
の列に作って、その列でソートすればよい。
表の定義の列を使いたくなければ、少数ならば
=VLOOKUP(A11,{"秋",1;"春",2;"夏",3},2,FALSE)
のような書き方もできます。
ご回答ありがとうございます。
教えていただいたやり方で試してみましたが、できませんでした。
ソートをかけたいコードが、一桁ではなかったからでしょうか…
No.2
- 回答日時:
こんにちは。
maruru01です。多分、ユーザー設定リストでは出来ないと思います。
以下、作業列と名前定義を利用した方法です。
仮にデータがA1~Axxxにあるとします。
データの先頭(A1)をクリックして、メニューの[挿入]→[名前]→[定義]で、
[名前]:適当な名前(仮に「変換1」とします。)
[参照範囲]:「=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($A1,"0","あ"),"1","い"),"2","う"),"3","え"),"4","お")」
と設定して[追加]します。
(参照範囲の中の「$A1」はデータの先頭位置(A1)に頭に"$"を付けたものです。データ位置によって適宜修正して下さい。)
さらにもう1つ、
[名前]:適当な名前(仮に「変換2」とします。)
[参照範囲]:「=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(変換1,"5","か"),"6","き"),"7","く"),"8","け"),"9","こ")」
と設定して[OK]します。
そうしたら、どこか適当な列を作業列として、そこに、
=変換2
と入力すると、同一行のデータの中の数字が、
0→あ
1→い
・・・
9→こ
と置換されて表示されますので、下へデータ行分コピーします。
これでデータ列とこの作業列を一緒に、作業列をキーにして並べ替えればOKです。
作業列は非表示にしておいても構いません。
なお、一緒に並べ替えるので離れた場所に作業列があるとやりにくいかも知れません。
ご回答ありがとうございます。
希望のソートができました!
細かく丁寧に教えていただいてありがとうございました。
ただソートは毎月発生する作業なので、この長~い式を毎回コピーしながらするのは大変ですね。
…というか最初の入力も(笑)
とりあえずはこの方法でしのぐとして、ユーザー設定リストなどで、何回もカンタンにソートできる方法は
ないんでしょうかね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Excel(エクセル) Excelの50音順ソートを全ての行列に適用するには? 4 2022/12/05 11:28
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Excel(エクセル) Excelのソート(並べ替え) 2 2022/05/15 22:54
- Excel(エクセル) Excel 効率的な名簿と得点の管理の仕方 8 2022/08/07 08:15
- Excel(エクセル) エクセルのソート方法について 1 2023/01/13 00:01
- アジア ベトジェットエアの登録について 1 2023/07/03 14:43
- その他(プログラミング・Web制作) python コードについて(初学者です) 3 2023/07/20 14:44
- Excel(エクセル) excel 行でソートすると計算式が上手くいかない。 6 2022/06/01 08:18
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
みんなの【マイ・ベスト積読2024】を教えてください。
積読、ついついしちゃいませんか?そこでみなさんの 「2024年に買ったベスト積読」を聞きたいです。
-
コーピングについて教えてください
皆さんはストレスを感じたとき、どのような方法や手段、テクニックで対処していますか?
-
集中するためにやっていること
家で仕事をしているのですが、布団をはじめ誘惑だらけでなかなか集中できません。
-
エクセルで文字が混じった数字を並べ替えしたいのですが
Excel(エクセル)
-
アルファベットを含む数をエクセルでうまく並べ替えをしたい。
Excel(エクセル)
-
Excelで文字+数字のデータの並び替えについて
Excel(エクセル)
-
-
4
VBAにて 文字と数字が混在してるデータの並び替え
Excel(エクセル)
-
5
【Excel・並べ替え】かな、アルファベット、数字などの順序
Excel(エクセル)
-
6
Excel2017 フィルタ昇順並びがA1、A10、A11、A2、A3となってしまう。
Excel(エクセル)
-
7
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
8
「御社」のように「団体」を丁寧に呼ぶには?
日本語
-
9
桁数が混在する並び替えの方法
PowerPoint(パワーポイント)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
Excelの行数、列数を増やしたい...
-
列方向、行方向の定義
-
横軸を日付・時間とするグラフ化
-
CSVファイルの「0落ち」にVBA
-
エクセルマクロPrivate Subを複...
-
VLOOKUPの列番号の最大は?
-
VBA 指定した列にある日時デー...
-
データシートビューのタイトル...
-
LEFT関数とIF関数の組み合わせ...
-
エクセルで?
-
csvに別のExcelの文章を差し込む
-
VBAで結合セルを転記する法を教...
-
VBA
-
エクセルマクロの組み方
-
VBAで別ブックの列を検索し、該...
-
Excel 区切り位置指定ウィザー...
-
エクセルのソートで、数字より...
-
エクセルマクロで表の途中の集...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
VBA 指定した列にある日時デー...
-
Excelの行数、列数を増やしたい...
-
エクセル マクロ 範囲指定で...
-
列方向、行方向の定義
-
Excel文字列一括変換
-
エクセルのソートで、数字より...
-
エクセルマクロの組み方
-
エクセルでセル12個間隔で合...
-
VBAで結合セルを転記する法を教...
-
エクセルマクロPrivate Subを複...
-
ListViewで列を指定して表示さ...
-
エクセルで最初の行や列を開け...
-
横軸を日付・時間とするグラフ化
-
CSVファイルの「0落ち」にVBA
-
VBAで別ブックの列を検索し、該...
-
エクセルの行を65536以上に増や...
おすすめ情報