[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロによるシート保護の解除後、キーボード入力不可現象』(SUS304)
楽しい出張でした。ただいま
さて、掲題の件。遂に完成をみまして、上に提出。
上司の動作確認が始って、オートシェイプにマクロ登録にてMsgBoxからパスワードで
シートの保護を解除後、キーボードから何も入力できなくなってます。
他の場所で入力作業などをやった後だと、半角文字ならはいるようですが、
よく分かりません。あとすこしなんです。どうかお願いします。
上司のOSだからと思って、手元でやっても同じ現象です。
さぁ困りました。凄くピンチです。わたしにサンタは来るんでしょうか?
よろしくお願いします。
ちょっといい加減な回答かもしれませんが(^^;) マクロの登録を「オートシェイプ」から「フォームのボタン」に変えたらどうなりますか? 以前にオートシェイプに登録したマクロで日本語入力がうまくできなくなったことがあります。 なぜかフォームのボタンならOKでした。 # そのときはATOKを使っていたのでJustSystemさんのサポートにファイルを送ったのですが、 # MSの問題では? とのことでそのまま迷宮入りにしたことがあります。 # この辺の情報が有ればありがたいのですが・・・ # Win Xp、Excel2002 の環境です。 (Hatch)
>MsgBoxからパスワードでシートの保護を解除後、 意味が解らないです・・・(-_-;) こちらで再現させる手順があればお教え下さい。 (INA)
上の件、別スレッドで質問することにしました。 SUS403さん、失礼いたしました。m(_ _)m (Hatch)
Hatch<日本語入力できなくなります。さらに、エンターキーカーソルキーも使えなくなり アチコチのセルを選択して、エンターを連射しながら半角/全角を押したら突然、 入力を受け付けることもありますが、日本語入力はできないようですね。 そこで、オートシェイプにエンターキーを押した後の、方向変化を切り替えれる マクロを乗せてあるんですが、コレを押して切り替えた後だと、入力できたりしました。 でも、原因不明。もう少しスマートに解決できるといいのですが・・・。 更に、フォームのボタンに変えたいところなんですが、不勉強にて重ねて質問。 手元のOSで、下記内容にて、作ったマクロをメールなどで人に送ります。 送られた相手が開くと、相手方の開いたエクセルにフォームのボタンって できる・・・というか、作られているんでしょうか? そこが不安でオートシェイプにしたんですが・・・。
INAさん<相変わらず、ひとりよがりな質問文面で申し訳ないです。 再現手順になるかわかりませんが、全部だします。 プロテクトに関して、イベントモジュール(Before Save)でロックしてます。 どれもINAさんにご教示頂いたものです。笑 Private Sub Worksheet_Change(ByVal Target As Range)
'変化したセルがAE13:AE44に含まれていないときは終了 If Application.Intersect(Target, Range("AK9:AK40")) Is Nothing Then Exit Sub
'変化したセルの行は、 Target.Row Range(Cells(Target.Row, 2), Cells(Target.Row, 48)).Locked = True Range(Cells(Target.Row + 1, 2), Cells(44, 44)).Locked = False
End Sub
Private Sub オートシェイプ55_Click()
'シートの保護を解除するにあたり、パスワードを '聞いてくる。パスワード変更の際は、下から3行目 'ActiveSheet.Unprotect Password:="057"←の”「この中」”を変更して下さい。 'プロジェクトウィンドウのツリー表示のThisWorkBookの中の””の中身も同様に変更する。
Dim myPass As String
myPass = Application.InputBox("パスワードは?", "パスワード入力", Type:=2)
If myPass <> "057" Then MsgBox "大・小文字を確認してください" Exit Sub End If
ActiveSheet.Unprotect Password:="057" MsgBox "所属長印(最右セル)入力後、上書保存してください"
End Sub
Sub オートシェイプ39_Click() If Application.MoveAfterReturnDirection = xlToRight Then Application.MoveAfterReturnDirection = xlDown ActiveSheet.Shapes("AutoShape 39").Select Selection.ShapeRange.IncrementRotation -270# Selection.Characters.Text = "タテ" Else
Application.MoveAfterReturnDirection = xlToRight ActiveSheet.Shapes("AutoShape 39").Select Selection.ShapeRange.IncrementRotation -90# Selection.Characters.Text = "ヨコ" End If ActiveCell.Activate
End Sub
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.