[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ブックの共有時のデータの入力規制にて』(未来)
ブックの共有がされておりシートの保護がされている状態で
E4セルのでーたの入力規制にて
入力値の種類はリスト
元の値に
=INDIRECT(D4&IF(D4="?@短",1,"")&IF(D4="?A短",1,"")&IF(D4="?@長",1,"")&IF(D4="?A長",1,"")&IF(D4="?@",1,"")&IF(D4="?A",27,""))
となっており、E4セルをリストから選択すると
共有ブックに入力された数式やデータテーブルの配列は、コピーまたは移動できません。
と出てしまい選択できません。
何処をどう直せばよろしいでしょうか?
< 使用 Excel:Excel2010、使用 OS:Windows7 >
>Excel2010,Windows7 で >E4セルのでーたの入力規 則で >種類はリスト >元の値に >=INDIRECT(D4&IF(D4="丸短",1,"")&IF(D4="四角短",1,"")&IF(D4="丸長",1,"")&IF(D4="四角長",1,"")&IF(D4="丸",1,"")&IF(D4="四角",1,"")) ※「名前」は適当に作成 E4セル 非ロックで シートを保護し ブックを共有して 試しましたが >共有ブックに入力された数式やデータテーブルの配列は、コピーまたは移動できません。 というエラーもなく普通にリストから選択できました。
つまり、問題があるならば↑で説明されてない所に原因があります。
(チオチモリン) 2020/03/30(月) 10:14
そもそも、例えば「D4&IF(D4="丸短",1,"")」の部分だけ取り出して考えると、D4セルに "丸短" と入力されていれば "丸短1" に置き換えており、必ず1が付くというのが意味不明です。 "丸短1" という名前定義を使うとか、そんな面倒な事をせず、名前定義を "丸短" にすれば良いのでは? 1 を付けた定義と付けない定義がある、とかならまだ判りますが、そういう式でもないし…。
D4セルの文字列 = 名前定義名 とすれば、「=INDIRECT(D4)」として使うだけですよね?
(???) 2020/04/03(金) 13:14
1を付けた理由は日にちによってなので1日の例をあげました。
よろしくお願いします。
(未来) 2020/04/03(金) 13:22
>E4セルをリストから選択すると >共有ブックに入力された数式やデータテーブルの配列は、コピーまたは移動できません。
入力規則のリストから選択するだけなのに、 何故「コピーまたは移動」の警告が出てくるのか腑に落ちないですねぇ。。
そちらに何か思い当たる節がないですか? 例えば、マクロを組み込んでいる、とか。
※ 未来さん自身がやってなくても、誰か他の人がやったとか。
(半平太) 2020/04/03(金) 13:29
特に誰もいじってはないと思います。
リストから選ぶだけで何をするでもありません。
普段からシートの保護をしていまして、ほかの方はその機能も知らないほど
パソコン素人です。私も素人ですが・・・
よろしくお願いします。
(未来) 2020/04/03(金) 13:45
そうですか・・
念のために、共有を解除してから、
当該シートの「シート見出し」を右クリックすると表れるサブメニュー内の 「コードの表示」を選択すると、VBエディターが開きますが、
そこに何かコードが書かれてないかチェックして貰えませんか?
(半平太) 2020/04/03(金) 13:55
よろしくお願いします。
(未来) 2020/04/03(金) 15:32
そうですか・・
お手数かけて申し訳なかったです。
ノーアイデアです。 m(__)m
(半平太) 2020/04/03(金) 15:39
名前定義については、ブックをコピーしてから以下のマクロを貼り付け、マクロ入りブックにしてから実行すると、定義一覧をシートに書き出します。 数式で使っている名前定義名と完全一致しているか、セル範囲は正しいか等を確認してみてください。
Sub test() Dim i As Long
With Sheets.Add(after:=Sheets(Sheets.Count)) For i = 1 To Names.Count .Cells(i, "A").Value = Names(i).Name .Cells(i, "B").Value = Names(i).RefersToRange.Address(True, True, xlA1, True) Next i End With End Sub (???) 2020/04/03(金) 16:57
ブックのファイル名はxlsです。
マクロはある程度入っております。
マクロの記録からので少し弄ったていどのがあります。
.Cells(i, "B").Value = Names(i).RefersToRange.Address(True, True, xlA1, True)
でエラーがでてしまいました。
ブックの共有をしないと、きちんと使えているのですが名前定義名等が間違えていることも
ありえるのでしょうか?
(未来) 2020/04/03(金) 17:31
共有は解除してください。
解除しましたがエラーとなってしまいます。
(未来) 2020/04/03(金) 17:54
あと、シートモジュールではなく、標準モジュールに貼って動かしてみてもらえますか?
それでも駄目なら、B列に出力する部分は消してしまい、名前だけでマクロを完走させてみてください。
(B列には定義している範囲を出力しているので、確認して欲しいのですが)
(???) 2020/04/03(金) 18:31
>D4セルに丸短、四角短、丸長、四角長が入力されている場合のみエラーが出るようです。 >三角が入っている場合はエラーが出ませんでした。 名前定義に問題がありそうですね
そのうえで >複数人でやりたいとの希望から >ブックの共有にしたところエラーが出てきてしまいました 新たに作業を始めた人のPCでの現象なら エラートラップのオプション設定が異なる可能性もあるかも。
(チオチモリン) 2020/04/03(金) 23:40
> 新たに作業を始めた人のPCでの現象なら エラートラップのオプション設定が異なる可能性もあるかも。
全てのPCでなってしまいます。
よろしくお願いします。
(未来) 2020/04/06(月) 10:20
(チオチモリン) 2020/04/06(月) 10:43
>1 丸短(エラーの出る)と三角(エラーの出ない)の違い何でしょう?
D4セルの値をみてE4セルのリストが変わるようにしています。
丸短等エラーが出る値は丸短1、丸短2と31までリストがあり日付によって
変えたいので1をつけるようにしました。
D4セルにて丸短1としないのはE4セル以外にもD4セルを参照していまして
その時に丸短1と1があると困りましたのでこういう対応にいたしました。
(そちらは問題なく作動しております。)
三角(エラーの出ない)はE4セルの元の値の計算式の丸短等以外の値は全て作動しております。
三角等のリストは1つしかないです。
>2 エラーの出る↓の値は何でしょう?
>Names(i).RefersToRange.Address(True, True, xlA1, True)
これはどこに出ている値でしょうか?
素人ですいません。
>3 そもそも、
>>E4セルをリストから選択
>で ↑のコードが走るのはなぜでしょう?
D4セルを見てE4セルのリストを変更したいのです。
>4 ↑のエラーメッセージが↓なのですか?
>「共有ブックに入力された数式やデータテーブルの配列は、コピーまたは移動できません。」
そうです。
このメッセージが出て、選択した値がE4セルに反映されません。
よろしくお願いします。
(未来) 2020/04/06(月) 11:37
>1 丸短(エラーの出る)と三角(エラーの出ない)の違い何でしょう? =INDIRECT("三角")は問題ないが =INDIRECT("丸短1")は 共有ブックではエラーになるが 非共有ブックでは問題ないということですね
で、共有ブックではE4はリストは表示されるが、選択できない。
〜〜〜〜〜〜〜〜〜 マクロではないような気がしてきていますが
配列数式が関係しているのかも知れませんが、現象を再現できません。
心当たりはありませんか?
〜〜〜〜〜〜〜〜〜 ↓は忘れてください。勘違いでした。
2 エラーの出る↓の値は何でしょう?
Names(i).RefersToRange.Address(True, True, xlA1, True)
3 そもそも、
>E4セルをリストから選択
で ↑のコードが走るのはなぜでしょう?
〜〜〜〜〜〜 但し
丸短2〜丸短31のような名前定義があるのか?
あるならば、それは問題ないのか? は気になります。
(チオチモリン) 2020/04/06(月) 14:49
>=INDIRECT("三角")は問題ないが
>=INDIRECT("丸短1")は
>共有ブックではエラーになるが
>非共有ブックでは問題ないということですね
単純に=INDIRECT("三角")と=INDIRECT("丸短1")をE4セルにいれて検証したところ
=INDIRECT("三角")は問題ないが
=INDIRECT("丸短1")はエラーになります。
これは名前のエラーなのでしょうか?
但し共有ブックではエラーで非共有ブックでは問題ないです。
>丸短2〜丸短31のような名前定義があるのか?
>あるならば、それは問題ないのか? は気になります。
丸短2〜丸短31はあり、そちらも同じエラーがでます。
よろしくお願いします。
(未来) 2020/04/06(月) 16:00
同じエラーになるなら、既出ですが
>1 という文字を全角半角間違えているとか、スペース文字があるとか…。
>(???) 2020/04/03(金) 13:14
を確認されてみては?
(チオチモリン) 2020/04/06(月) 17:08
>=INDIRECT("六角32")として同じエラーになるか試されてみては?
試してみましたが選ぶことができませんでした。
>1 という文字を全角半角間違えているとか、スペース文字があるとか…。
確認しました。再度名前定義をしましたがやはりエラーがでてしまいました。
よろしくお願いします。
(未来) 2020/04/06(月) 17:24
やはり名前の定義でしょうか?
ただブックの共有をしないと問題なく選択でき、ブックの共有をするとエラーがでるので
その差がわかればと思います。
(未来) 2020/04/06(月) 17:48
そして、どんなエラーが出るのか、相変わらず教えてもらっていません。 名前定義ができないのか、定義できるけどセルの選択肢を切り替えようとすると何かメッセージが表示されるのか。 回答者側は皆、現象が再現できていないので、貴方自身が何か見落としている点に気づいてもらうしかない状態です。
(???) 2020/04/06(月) 18:03
あ、エラーが再現できた。
A1:A5 を選択 数式バーに =B1:B5 と入力、shift+ctrl+enter で決定。 続けて、名前ボックスに名前を入力。(例として”配列”としてみる)
この時点で A1:A5 に配列数式 {=B1:B5} 、”配列”という名前が付いている。
C1 に入力規則を設定。 入力値の種類 : リスト 元の値 : =INDIRECT("配列")
共有ブックとして保存。
その後、リストを選択すると、 >共有ブックに入力された数式やデータテーブルの配列は、コピーまたは移動できません。 と表示される。
・・・とは言ったものの、ここに書かれているのを試しただけなのですが。 https://translate.google.com/translate?hl=ja&sl=en&u=https://www.excelforum.com/excel-general/941942-sharing-workbook-with-array-formulas.html&prev=search
配列数式なんて使ってないよ、と言う場合は別の回答をお待ちください。 (2u) 2020/04/06(月) 19:16
エラーは「共有ブックに入力された数式やデータテーブルの配列は、コピーまたは移動できません。 」
が出てくるだけです。
丸短1等の計算式が配列数式です。
そうなるとブックの共有は難しいのでしょか?
(未来) 2020/04/06(月) 22:26
こちらには書かなかったことで、リンク先には書いていることですが、
> 配列数式を通常の数式に変換してみてください
だそうです。
> MicrosoftのWebサイトで提供されている回避策 は探し方が悪いのか、ページが残っていないのか分かりませんが、 見つけることが出来ませんでした。
変換できるかどうかは実際の配列数式が提示されないとなんとも。 配列数式を提示して、普通の数式に変換できるか質問してみるのも1つの手だと思います。
それか、「入力規則の元の値」の指定範囲に配列数式があるとだめなようなので、 エラー例を次のようにしてみます。
A7:A11 を選択 数式バーに =B1:B5 と入力、shift+ctrl+enter で決定。
A1 に =A7 と入力。 オートフィルで A5 まで入力。
続けて、名前ボックスに名前を入力。(例として”配列”としてみる) この時点で
A7:A11 に配列数式 {=B1:B5}
A1 =A7 A2 =A8 A3 =A9 A4 =A10 A5 =A11
A1:A5 に”配列”という名前が付いている。 C1 に入力規則を設定。 入力値の種類 : リスト 元の値 : =INDIRECT("配列")
要は配列数式の結果を通常数式で参照して、 入力規則の元の値には通常数式が入った範囲を指定するという方法です。
どちらがいいかは・・・ 変換できるか、出来たとして書き換える手間がどれほどかかるか、 間に作業範囲を用意するほうが前の2つに比べて楽かどうか そもそも作業範囲が用意できるか という考え方や作業量などの問題になるでしょう。
他の誰かがいい方法を思いつくかもしれませんしね。 (2u) 2020/04/06(月) 23:27
コロナ騒ぎで自宅待機になってしまいましたので確認ができないのですが
配列が原因となると対応できるかと思います。
ありがとうございました。
(未来) 2020/04/07(火) 12:26
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.