MW211 EXIT

devlog
ExcelVBA/テキストボックスの入力
2018年08月18日
【ActiveXコントロールのテキストボックスを入力不可にする方法】

  ■「.Enabled = Flase」にする
    →但し、文字色が淡くなる(濃くはできない)

  ■Textbox_Change()イベントで入力直後に元の値に戻す
    →但し、元の値がわかってなければならない
      (TextBox_GotFocus()イベントで取得しておくとか)
      また、イベントを再度起動してしまい無限ループに陥らないよう注意が必要

  □当該テキストボックスの保護ロックの状態にして(*1)
    シートを保護する(*2)
    但し、これは入力を不可とするものではなく
    デザインモード時にテキストボックスの位置やサイズを変更できなくするものの模様
    →つまり入力不可としては使えない

    *1:デザインモードで、右クリックメニュー「コントロールの書式設定」より
        「保護」タブの「■ロック」にチェックを入れる
    *2:シートの右クリックメニューから「シートの保護」を選ぶか
        リボンメニュー「ホーム」タブの「書式」から「シートの保護」を選ぶ

  □「.Locked = True」にする
    →これは前述の「■ロック」にチェックを入れたのと同等なので
      入力不可としては使えない

    なお、フォーム上のテキストボックスの場合は入力不可として使える模様
分類:ExcelVBA