続けての質問で恐縮です。
次の意味がわかりません。VBAのヘルプでもでてきません。
どなたか教えてください。ちょっとほかの部分を手直しするのに、これはどうしたら良いものか判断がつきません。

userinterfaceonly:=False

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

ProtectメソッドのUserInterfaceOnlyでしょうか。

解説には、

UserInterfaceOnly 省略可能です。バリアント型 (Variant) の値を指定します。True を指定すると、画面上からの変更は保護されますが、マクロからの変更は保護されません。この引数を省略すると、マクロからも、画面上も変更することができなくなります。

引数 UserInterfaceOnly に True を設定した Protect メソッドをブックのワークシートに適用した場合、保存して閉じた後でもう一度開いたブックに対しては、画面上からもマクロからも変更ができなくなります。マクロからの変更を可能にするためには、引数 UserInterfaceOnly に True を設定した Protect メソッドを再び適用する必要があります。
』とあります。

VBE画面で、表示→オブジェクトブラウザで『protect』を検索して出てきます。

この回答への補足

nishi6さんありがとうございました。
これから仕事ですので明日また改めてお礼申し上げます。

補足日時:2002/03/07 18:22
    • good
    • 0
この回答へのお礼

nishi6さん、詳しく説明していただきましてありがとうございました。
おかげさまでちょっと前にやっと完成しました。
もうくたくたです。VBAはいまだによく理解できてないので説明不足の点もあったかと思います。お許しください。
教えていただいたことは印刷して大切に保存します。

お礼日時:2002/03/10 03:26

再び、maruru01です。


おそらく、No.3の人の方が正しいのでそちらを信用して下さい。
どちらにしろ、Microsoftのホームページで検索出来ます。
では。
    • good
    • 0

こんにちは。

maruru01です。

とりあえず、何のVBAか書きましょう。それと、前後の詳細も。いきなりこの1行ではわからないです。
(続けての質問ということでも、毎回書くのが常識です。)

確かにヘルプにはなかったので、Microsoftのホームページで「userinterfaceonly」で検索したらいくつかヒットしました。
そのなかで今回の件に関することは、おそらく次の内容でしょう。
シート保護のメソッドProtectの5番目の引数で、サポートされていません。
サポートされていない引数にはFalseを代入するか、省略しないとエラーになるようです。
したがってこのままにしておくか、引数自体を削除すればいいと思います。

MicrosoftのURLを載せておきますので、ご自分で検索して見てください。
では。

参考URL:http://www.microsoft.com/japan/ms.htm

この回答への補足

maruru01さん、ありがとうございます。確かに一行だけ書かれても
困りますね。失礼しました。
これから仕事なので明日また改めて御礼します。
今晩仕事に使うマクロなのでひと安心しました。

補足日時:2002/03/07 18:15
    • good
    • 0
この回答へのお礼

maruru01さんどうもお世話になりました。
検索で見つかりました。それにしても、検索画面の最初で
こんなことまで見つかってしまうのには驚きました。
おかげさまでたった今basicプログラムをエクセルで作り直し
できました。昨日からずーとやっていたので、物が二重に見えます。
どうもありがとうございました。
これからは答えていただく方のことも考えて質問するようにします(反省)

お礼日時:2002/03/10 03:18

:=が使用されてるので、元のコマンドが何かありますよね?



前後の部分についても教えてください。

この回答への補足

説明不足がありました。教えてもらう立場にありながら配慮が
足りず失礼しました。次のようになっています。
どうぞよろしくお願いします。

Sheets("abc").Activate
With ActiveSheet
.Range("C4").Select
.Protect contents:=True, userinterfaceonly:=False
.EnableSelection = xlUnlockedCells
End With

補足日時:2002/03/07 18:24
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qエクセルマクロに関して 初歩的な質問で恐縮ですがよろしくお願いします

エクセルのマクロで例えば、

Cells(1,1).value = Cells(3,3)

だと、A1 に C3 の値を代入すると言う意味になりますよね。

次に、A1 に Sheet2 の C3 の値を代入したいのであれば、どういう風に表現すればよいのでしょうか?(実際には変数を代入して使いたいのですが、別のシートのセルの値を代入するにはどうすればよいか基本形がわかりません。)

参考書などで調べてみましたが、ダメで、早く解決したいのでここに質問させていただきました。初歩的な質問で恐縮ですが、よろしくお願いいたします。

Aベストアンサー

ANo1です。
>>>そのような感じです。

私が良く使う方法で、sheet1のA1にsheet2のC3を代入するなら

sheet1.range("A1") = sheet2.range("C3")

と書きます。

cellsなら

Cells(1,1).value = Cells(3,3).value

となると思います。

つまり、それぞれ、sheet1の~、sheet2の~というのを示しています。

これは、マクロを使う際には、セル以外にもボタンやその他のさまざまなオブジェクトに対して有効となります。

一度試してみていただけるといいと思います。

QエクセルVBAでブック保護のUserInterfaceOnly:=Trueはダメ?

エクセル2000です。シート保護ならUserInterfaceOnly:=TrueでVBAでの変更は可能ですが、Book保護にもそういう機能はないのでしょうか?試しに、
Sub TEST1()
ActiveWorkbook.Protect Password:="merlion" , UserInterfaceOnly:=True
End Sub
とやってみましたが、エラーになってしまいました。(泣)

Aベストアンサー

merlionXX さん、こんにちは。

Wendy02です。

>ところでサンプルコードでUnprotectする直前にもProtectをしているのは何故ですか?

それ自体は、あくまでも、Protect をして、Unprotect をするというのは、サンプルで作ったままでコードをアップしただけです。

ただし、理由は、以下のような流れからです。

今回は、関係ないかもしれませんが、xlSheetVeryHidden を使う場合に、前回、考えたのは以下のような手順です。

開いた時に、一旦、 Window プロテクトを解除して
シートの Visible = xlSheetVeryHidden
Window プロテクトにしてから、そのブックを保存して、

それから、次に、もう一度、Window プロテクトを解除して、
 シートをVisible = xlSheetVisible
Window プロテクトをします。

ブックを閉じるときは、 Saved =True にさせてマクロ以外からは、保存させないようにします。ですから、BeforeSave イベントをCancel =True を置いておきます。

開いたままの状態では、保存をさせないのです。

Sheet のプロテクトの時に、
Application.EnableSelection = xlUnlockedCells

を使うわけですが、
画面キャプチャーやスナップショットなどで画面を取られないように、Win32 API の RegisterHotKeyで、フックさせないようにさせます。Excelでプロテクトを期待してもしょうがない、という人もいますが、ある程度のことは可能です。

もう、デジタルカメラをPC外で使われればしょうがないですが(^^;

merlionXX さん、こんにちは。

Wendy02です。

>ところでサンプルコードでUnprotectする直前にもProtectをしているのは何故ですか?

それ自体は、あくまでも、Protect をして、Unprotect をするというのは、サンプルで作ったままでコードをアップしただけです。

ただし、理由は、以下のような流れからです。

今回は、関係ないかもしれませんが、xlSheetVeryHidden を使う場合に、前回、考えたのは以下のような手順です。

開いた時に、一旦、 Window プロテクトを解除して
シートの Visible ...続きを読む

Q「Debug.Print i = i + 1」がFalseになる。

Sub test()
Dim i As Long
i = 0
Debug.Print i = i + 1
End Sub
を実行すると
False
がイミディエイトウインドウに表示されます。
理由が知りたいです。
よろしくお願いします。

Aベストアンサー

Printステートメントの outputlist並びの=が、代入式ではなく比較式と評価、実行されるためでしょうね。
演算子は式のリストに含められ、算術演算子、比較演算子、論理演算子等色々ありますが、代入記号はリスト項目にはありませんので、エラーとならないのは演算子とみなしているからですね。

Print i = i + 1 の結果は、0と1の比較なのでFalse
Print i = i とすると、0と0の比較なのでTrue
Print i, i + 1の場合は、変数と数式なので 0と1
という結果になるはずです。
 

QVLOOKUP関数のFALSEって?

VLOOKUP関数をよく使うのですが、ふと最後の引数のFALSEって何を意味しているのかが気になりました。いつも無意識にFALSEを使っていましたが、TRUEはどのような場合に使う必要が生じるのでしょうか?

本をみると「検索の型」を選択するようですが、よく意味がわかりません。具体的にどういうことなのでしょうか?

Aベストアンサー

 EXCELのヘルプより抜粋

「検索の型 検索値 と完全に一致する値だけを検索するか、その近似値を含めて検索するかを、論理値で指定します。TRUE を指定するか省略すると、検索値 が見つからない場合に、検索値 未満で最も大きい値が使用されます。FALSE を指定すると、検索値 と完全に一致する値だけが検索され、見つからない場合は エラー値 #N/A が返されます。

解説

検索の型 に TRUE を指定し、検索値 が見つからない場合は、検索値 未満で最も大きい値が使用されます。


検索値 が 範囲 の左端の列の最小値より小さい場合、エラー値 #N/A が返されます。


検索の型 に FALSE を指定し、検索値 が見つからない場合は、エラー値 #N/A が返されます。」

QVLOOKUP関数のFALSEって?

VLOOKUP関数をよく使うのですが、ふと最後の引数のFALSEって何を意味しているのかが気になりました。いつも無意識にFALSEを使っていましたが、TRUEはどのような場合に使う必要が生じるのでしょうか?
本をみると「検索の型」を選択するようですが、よく意味がわかりません。具体的にどういうことなのでしょうか?

Aベストアンサー

検索値と完全に一致する値だけを検索するか、その近似値を含めて検索するかを、論理値で指定します。

検索の型でTRUE を指定するか省略すると、検索値が見つからない場合に、検索値未満で最も大きい値が使用されます。

FALSE を指定すると、検索値と完全に一致する値だけが検索され、見つからない場合はエラー値 #N/A が返されます。


人気Q&Aランキング

おすすめ情報