[[20081031084123]] 『注意書きを表示させたいorコピーをできなくしたい』(はるです) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『注意書きを表示させたいorコピーをできなくしたい』(はるです)

 お世話様です。
 A科・B科・C科それぞれの職員の行動表を入力規則で、作っています。
 各科は一部同じ行動(「休み」など)はあっても、ほとんどが全く違う行動ですので、各々に範囲指定をしています。
 ですが、上司が入力した際、別の科の人と行動が同じ場合、コピー&ペーストして作成してしまうようです。
 大した作業ではありませんが、その都度、データを直さなくてはならないので、そうしないよう注意書きを表示させたいと思います。
 コメントで作成すると、常時使う時に邪魔で、消してしまうかな、と思い、方法を探しています。
 ファイルを開いた際に1度、注意書きを表示させる方法はありますか?
 若しくは、セルをコピーできなくすれば、いいかと考えたのですが、そのような方法はありますか?

 よろしくお願いします。


 どこかにA科・B科・C科の区別が入力されていれば、入力規則にINDIRECT関数を使うことで、
コピペも問題なくなるようにできると思います。
 例えばこんな表だとして。
 F〜H列に入力規則のデータを入力し、F1からH4を選択してメニューバーから 挿入>名前>作成 と進んで
上端行のみチェックをつけてOK。
 1行目に各科名を入力してあるとして、A3からD5を選択して データ>入力規則 入力値の種類をリスト、
元の値に =INDIRECT(A$1) と入力してOK。
	A	B	C	D	E	F	G	H
1	A科	B科	C科	A科		A科	B科	C科
2	佐藤	鈴木	田中	加藤		休み	休み	休み
3	休み		行動C-2			行動A-1	行動B-1	行動C-1
4		行動B-1				行動A-2	行動B-2	行動C-2
5				行動A-1				
(かなれっと)

 一応補足で。
 ◇ファイルを開いた際に注意書きを表示させる 
  Alt+F11キーでVBEを起動。左側のプロジェクトのThisWorkbookをダブルクリック。
  右側に開いた白い部分に下をコピペ。VBEのウィンドウを閉じます。

     Private Sub Workbook_Open()
     MsgBox ("コピーペーストしないでください!")
    End Sub

    保存していったんファイルを閉じ、再度開いてみてください。
  とはいえ、やっちゃった!には対応できません。。。
 ◇コピーをできなくしたい
  これは、できないんじゃないかなぁ^^;
  セルの値は変えたいワケなので、保護じゃダメですしね。。。
 そんなわけで、入力規則の設定を見直す案を提案したのです〜
(かなれっと)

 シートモジュールへ

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Not Intersect(Target, Columns("k")) Is Nothing Then
     Application.CutCopyMode = False
 End If
 End Sub

 とかでできませんか?
 セキューリティが「高」とかマクロを作動させない環境では無意味ですけど。
 (seiya)

 あ、そうかぁ、、、 ちょっと勘違いしてました^^;
 コピペをできなくしたい! はseiyaさんご提示の方法でできるので、前言撤回します(*ノノ)
 ごめんなさい。 

 でもって、かなれっとの表でいけば、
  If Not Intersect(Target, Columns("k")) Is Nothing Then
 を
  If Not Intersect(Target, Columns("a:d")) Is Nothing Then
 にすればいいわけですね^^
(かなれっと)


 ご回答ありがとうございます。

 かなれっとさん

 1ページに

   A B  C D E     F  G H I   J     K     L
        α β        α β
 1   佐藤       青田     A科    B科    C科 
 2   加藤       木田     休み    休み    休み 
 3 重 伊藤    B  松田     出張    出張    出張 
 4 役 武藤    科  坂田     行動A-1   行動B-1     行動C-1 
 5   後藤       新田     行動A-2   行動B-2    行動C-2 
 6                   行動A-3     行動B-3     行動C-3 
 7   榎本       矢野     行動A-4   行動B-4    行動C-4 
 8   井本       大野     行動A-5   行動B-5     行動C-5
 9 A 坂本    C  佐野     行動A-6   行動B-6   行動C-6
 10 科 吉本    科  河野         
 11   松本       田野        
               

 というように並んでいて、行動は名前の横に時間ごとに表示します。
 重役はA科の一部を抜粋して使用しています。

 =INDIRECT(A$1)  の式で、A列とC列それぞれで行固定したのですが、試したところ、そのままコピーされてしまいました

 seiyaさんのはどこに入れればいいのかもわからず、試せません…
 せっかく教えてくださったのに、申し訳ありません><。
   
    (はるです)

 ご本人と衝突^^;
 でも、ちょぃと時間がないのでそのままUP。だいたいの意味は通じるかな??

 上記の表で入力規則を設定したセルはどこですか?
 G〜I列がリストの元の値ですよね。。。
 C列F列かなぁ?

 でもって、A1からA5が結合セルですかね。。。
 各科ごと別の列を使うようにできれば結合セルでも =INDIRECT(A$1) と結合セルの左上を指定すればOKのハズです。
 ただし、重役用のリストも用意しないとダメです。
 結合を解いて、A列C列に各人の所属科を入力する、といった対処ができるなら =INDIRECT(A1) でどうでしょう。
 この場合も重役用のリストの用意が必要です。

 seiyaさんのコードは、シートのタブを右クリック。コードの表示で出てきたウィンドウの右側の大きな白い部分
に貼り付けて、ウィンドウを閉じればOK。
(かなれっと) 


かなれっとさん

 CDGH列に入力規則が設定されています。
 A1〜A5、A7〜A11、E1〜E5、E7〜E11が結合セルです。

   A B     C   D   E     F  G H I   J     K     L
  1   佐藤  休み  出張     青田     A科    B科    C科 
  2   加藤             木田     休み    休み    休み 
  3 重 伊藤          B  松田     出張    出張    出張 
  4 役 武藤          科  坂田     行動A-1   行動B-1     行動C-1 
  5   後藤             新田     行動A-2   行動B-2    行動C-2 
  6                         行動A-3     行動B-3     行動C-3 
  7   榎本             矢野     行動A-4   行動B-4    行動C-4 
  8   井本 行動A-1 行動A-2    大野     行動A-5   行動B-5     行動C-5
  9 A 坂本          C  佐野     行動A-6   行動B-6   行動C-6
  10 科 吉本          科  河野         
  11   松本             田野        
         
      
 「INDIRECT(A$1)」という関数がわからないのですが、「=INDIRECT(A$1+E$1)」にしたところ、エラーでした。

 seiyaさんの方も試してみたのですが、まだコピーができました。
 おそらく「If Not Intersect(Target, Columns("ココ")) Is Nothing Then」の入力が違うとは思うのですが…
 恐縮ですが、どのように入力すればよいのか、教えていただけますか?

   (はるです)


 名前の定義を使います。
 挿入>名前>定義で 名前を 行動リスト
 参照範囲を =OFFSET(Sheet1!$J$1,1,INT((ROW()-1)/6)+INT((COLUMN()-1)/4)*2,8) でOK

 入力規則を設定したいセルを選択して、データ>入力規則>
 種類を リスト
 元の値 =行動リスト でOK

 重役列も追加してください。
	 [A]	 [B]	 [C]	 [D]	 [E]	 [F]	 [G]	 [H]	 [I]	 [J]	 [K]	 [L]	 [M]
 [ 1]	重役	佐藤	休み	出張	B科	青田				重役	A科	B科	C科
 [ 2]		加藤				木田				休み	休み	休み	休み
 [ 3]		伊藤	出張			松田	行動B-2			出張	出張	出張	出張
 [ 4]		武藤				坂田				行動A-1	行動A-1	行動B-1	行動C-1
 [ 5]		後藤				新田				行動A-2	行動A-2	行動B-2	行動C-2
 [ 6]										行動A-3	行動A-3	行動B-3	行動C-3
 [ 7]	A科	榎本			C科	矢野				行動A-4	行動A-4	行動B-4	行動C-4
 [ 8]		井本	行動A-1	行動A-2		大野		行動C-2		行動A-5	行動A-5	行動B-5	行動C-5
 [ 9]		坂本				佐野				行動A-6	行動A-6	行動B-6	行動C-6
 [10]		吉本	出張			河野							
 [11]		松本				田野							

 (川野鮎太郎)


 > seiyaさんの方も試してみたのですが、まだコピーができました。
 > おそらく「If Not Intersect(Target, Columns("ココ")) Is Nothing Then」の入力が違うとは思うのですが…

 If Not Intersect(Target, Range("A1:A5,A7:A11,E1:E5,E7:E11")) Is Nothing Then

 で試してください。
 (seiya)


 私なら、
 “データ”=>“入力規則”=>“入力時メッセージ”タブ
 を選択して、
 “タイトル”に「注意」、“メッセージ”に「コピー&ペーストしないでね」
 とでも記載するでしょうか。
 (他の方のように難しいことはできないので・・・)

 (名前はまだない)


 seiyaさんのは、
 If Not Intersect(Target, Range("B1:D5,B7:D11,F1:H5,F7:H11")) Is Nothing Then

 でしょうか。

 (川野鮎太郎)

 川野鮎太郎さん
 そうですね...
 > A1〜A5、A7〜A11、E1〜E5、E7〜E11が結合セルです。
 単純にこれだけ見ていました。
 (seiya)


 みなさんありがとうございます。

 seiyaさんの方法で、貼り付けができなくなりました。ありがとうございました!
 もう一つご提案いただいてる方も、試してみたいのですが

 「元の値」に、 =OFFSET(Sheet1!$J$1,1,INT((ROW()-1)/6)+INT((COLUMN()-1)/4)*2,8)

 というのを入力しましたが、ドロップダウンすると文字が表示されず空欄?しかでてきませんでした。

 =OFFSET(Sheet1!$J$1
     … これは行動リストの左端のセルを選択しました

 ,1,   … そのまま入力 「1」

 INT((ROW()-1)/6)+INT((COLUMN()-1)/4)*2
     …実際の表は行が4、列が18(科名含む)ですが、直すところはありますか?

 ,8)   … そのまま入力 「8」

 どこかで各科(A列やE列)を分類するような表示を入れるのでしょうか?
 時間をかけて考えてはみたんですが、結局答えが出ず…
 ご指南お願いします><。

    (はるです)

 >これは行動リストの左端のセルを選択しました
 >実際の表は行が4、列が18(科名含む)ですが、直すところはありますか?
 と言う事ですが、実際はどうなっているのか
  行動リストが有る シート名、セル番地、範囲 等
 書いてみられてはどうでしょう。
  (実際は行が18列が4・・・でしょうか?)

 >CDGH列に入力規則が設定されています。
 >A1〜A5、A7〜A11、E1〜E5、E7〜E11が結合セルです。
 この範囲に変わりは無いのですよね?

 (HANA)

 HANAさん

 すみません。

 >CDGH列に入力規則が設定されています。
 >A1〜A5、A7〜A11、E1〜E5、E7〜E11が結合セル

 というのは、こちらに表示した表への説明でした。

 実際の表の行動リストはS6〜V23です。

    (はるです)

 ん?済みませんが、範囲の名前の確認をさせて下さい。
 このシートには二つの表が有ると思います。

 川野鮎太郎さんの書いて居られるセル番地だと
  A1:H11 各人が選ぶ部分
  J1:M9  各人が選べるリストの候補

 それで「行動リスト」ってのは A1:H11に
 相当する表の部分の事ですか?

 それが、S6:V23まで有って・・・
 どこが結合されているのですか?

 また、もう一つの表はどこにあるのですか?

 (HANA)

 基本 コピペはできます。(内容が見れる常態では)
提示された方法は単純にはコピペはできないでしょう。ということ


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.