
Excel2016において、マクロ有効ブック.xlsm形式で、個人名のリストを作成しています。
50音順に入力しているにも関わらず、リストの一部分にのみこちらが意図しない並べ替えが発生し、その部分だけが50音順に揃わなくなってしまう、という現象が起こっています。
先日、こちらでいただいたアドバイスに従って、マクロを無効にした.xlsx形式で同じ現象が起きるかどうかを確認しました。
すると、本来 A → B → C がこちらの望む正しい50音順なのですが、それが B → C → A となって困っていたところへ、A → B → C → A という別の新しい現象になってしまいました。
ただし、どんな操作が原因でそうなるのかを調べていくうち、なんとなくそうなる条件が見えてきました。
前回は「ファイルを開いて上書き保存すると並べ替えが起きる」と思っていたのですが、実はこのExcelファイル内に別のシートがあり、そこで自分が入力した個人名リストの情報をプルダウンメニューの候補として反映している列がありました(このファイル自体は別人が作成・提供したものだったため、気づきませんでした)。
どうやら、そのプルダウンメニューをいじると(▼マークをクリックしてプルダウンメニューを開くと)その中の項目の1つが『#REF!』になったため、個人名リストと比較したところ、まさに並べ替えが起きていた部分でした(前述の例でいうA)。
そこで、リストをずらして別の人名ではどうなるかを試したところ、再現性がみられたため、そこに入力される文字列ではなく、そのセルおよび参照しようとする設定のどこかがおかしいのだというところまで見当をつけました。
Microsoftのサポートページで『#REF!』を検索して出てくる情報を見たのですが、関数や数式に明るくないため、それ以上の調査や修正までは手が出せていません。
このファイルを作った人間とは面識がなく、連絡手段もないためサポートを依頼できないのですが、具体的にどう調査してどう修正すべきか、何か手立てがありましたらお聞かせいただけるとありがたいです。
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
前回のご質問でマクロ無効化ファイルでの検証をご提案した者です。
ご質問者は
>50音順に入力しているにも関わらず、・・・・・・
と仰っているので入力方法についてお尋ねします。
ご質問のタイトルに「漢字人名が勝手に並び変わる」とあるので、当然、見た目では漢字氏名が表示されているものと推測されますが、そのセルへの入力方法は以下のどれでしょうか?
(1)MSIME、Google日本語入力、ATOKなどの日本語入力ソフトを使って漢字に変換しながら50音順に入力している。その漢字人名が勝手に並び変わる。
(2)①入力対象セルに「=」を入力し、②予め作成された漢字人名一覧表が記載された別ファイルのシートまたは同ファイル別シートを選択し、③漢字人名が既に記載されいるセルをクリック、ENTERで確定する この①②③を繰り返して、50音順に並ぶように入力している。 その漢字人名が勝手に並び変わる。
(3)上記(1)(2)以外の方法で漢字人名を50音順に入力しており、その漢字人名が勝手に並び変わる。
仮に、マクロ無効化しているのに、(1)の方法で入力して勝手に並び変わるとすると、例えばEXCELで1行目に大見出し、2行目に小見出しを漢字で入力した表を作成したら、いつのまにか勝手に1行目が小見出し、2行目が大見出しになってしまったということを意味します。
作表機能の前提を根本的に覆す現象であり、本当にこんなことが起こるなら、誰もまともな表を作成できないことになってしまいます。
つまり、No.1さん、No.2さんも指摘しておられますが、「単に入力しただけ」「新規ファイルで作成した人名リスト」では並び替えは起こらないことは明白です。従って、ご質問者の漢字人名のリストの作成方法・入力方法に問題があると推測できます。
また、仮に(2)の方法でに入力している場合、漢字人名が表示されているセルには数式が入力されているだけで、表示内容はあくまでも数式による参照結果ですから、参照元の値に変更が発生すれば並び変えも発生する可能性があります。
これを「勝手に並び変わる」といわれても、数式やセル参照というものはそもそもそういうものです。参照元の値が変更されても影響を受けないようにするには数式を値にして参照元の値変更の影響を排除するしかありません。
また、仮に(1)(2)以外の方法で入力されているのだとすると、その入力方法の詳細をご説明いただかないと、どこに問題があるのか見当のつけようもありません。
再度のご助言ありがとうございます。
入力方法については前回記載の通り、各セルに直接手打ちしましたので、(1)に当たるかと思われます。
なお単なる名簿を作成するのが目的ではなく、その名簿情報を同一ファイル内の別シートに存在するプルダウンメニューの入力候補とするために、専用のシートおよびセルに入力しなければならない事情があります。
今回の現象のトリガーはやはりプルダウンメニューのクリックにありそうですので、それがVBA?マクロ?の影響があるかどうかわからないのですが、そういう挙動をするようなプログラム?の書き方はたぶんこうなるはずだから、実際に当該ファイルのどこをどう操作して何を見てどこを確認すればその判断ができるのか、勉強するしか方法がなさそうですね。
No.2
- 回答日時:
こんばんは
質問者様が何を必要としているのか不明ですけれど・・・
1)理解できないファイルを使わずに、新規のxlsxファイルを作成します。
2)そちらのシートに、対象となる「個人名のリスト」をコピペします。
こちらのブックであれば、並べ替えが起こることは無いと思いますので、
質問者様が利用したいような仕組みを、質問者様がわかる内容として
作成なさればよろしいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
Excelでなぜこのような式をつかっているのでしょうか、行に1,2,3と連番を振るだけなのに
Excel(エクセル)
-
Excel 知恵を下さい。 下記表は、例です。本来の表のデータ量は、1000件以上あります… A列:
Excel(エクセル)
-
エクセルで値ではなく関数を参照する方法
Excel(エクセル)
-
-
4
Excelで、昭和の西暦換算
Excel(エクセル)
-
5
CSVファイルでVBAを動かす方法
Excel(エクセル)
-
6
何故割り算なのでしょうか?
Excel(エクセル)
-
7
Excelの関数詳しい方お願いします。
Excel(エクセル)
-
8
この関数はなんですか? IFがこんな形で入っているのですが、この不完全な形であり得るのをはじめてみま
Excel(エクセル)
-
9
1から9まで表示するのに必要なボタン
Excel(エクセル)
-
10
なぜExit Subがあるのかわかりません
Excel(エクセル)
-
11
Excelについて
Excel(エクセル)
-
12
エラーの原因が分からない
Excel(エクセル)
-
13
50代前半の母が最近になってから ExcelとWordを勉強するようになりました! ですが、母はパソ
Excel(エクセル)
-
14
市町村の隣に県名
Excel(エクセル)
-
15
エクセルで期間に入っているかどうかの判定
Excel(エクセル)
-
16
Excel教えてください。 下記のことが出来るのは、マクロですか?条件付き書式でしょうか、、?知恵を
Excel(エクセル)
-
17
excelについて。
Excel(エクセル)
-
18
なぜこんな初歩的なVBAのIf文でエラーか発生して使えないのか、全く理解出来ません。誰か助けてくださ
Visual Basic(VBA)
-
19
エクセルのソート方法について
Excel(エクセル)
-
20
エクセルで月をアルファベットに変換したい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
ファイルを開かずにマクロを実行
-
5
フォルダ内のexcelファイルを順...
-
6
VBAでワークブックの名前を変数...
-
7
エクセルマクロで不特定なファ...
-
8
エクセル 複数ファイルの一括...
-
9
【マクロ】エラーが発生⇒実行時...
-
10
Accessのaccdbファイルを起動で...
-
11
フォルダ内のブック全部にパス...
-
12
EXCELが終了できません
-
13
エクセルデータが突然破損します。
-
14
データ参照先が別ファイルの場...
-
15
新規 xlsmファイルにする方法...
-
16
エクセル(マクロ)のファイル...
-
17
【Excel VBA】ファイル名が一...
-
18
vlookup関数の引数を変数で指定...
-
19
<ACCESS VBA -> EXCEL>getObjec...
-
20
エクセルマクロ 異なるファイ...
おすすめ情報
公式facebook
公式twitter