• ベストアンサー

VBAのスプレッドシート

スプレッドシートを入力不可にしたいのですが、 どうすれば良いでしょうか。 cell.locked でも入力出来るのですが・・・ また、例えば30行目までしか表示しないようにしたのですが、 ScrollArea だとエラーになってしまします。 なにか方法はありませんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

SheetオブジェクトまたはWorksheetオブジェクトに対してProtectしてますか? http://msdn.microsoft.com/ja-jp/library/cc390352.aspx ScrollAreaプロパティは無いのでViewableRangeを。 http://msdn.microsoft.com/ja-jp/library/cc391351.aspx With Me.Spreadsheet1   .Sheets(1).Unprotect   .Sheets(1).Activate   .ActiveWindow.ViewableRange = "1:30"   .Sheets(1).Protect End With ここも参考になるかもしれません。 http://www.moug.net/tech/exvba/0090031.htm

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

sub macro1()  worksheets("Sheet1").cells.locked = true  worksheets("Sheet1").protect userinterfaceonly:=true  worksheets("Sheet1").rows("31:" & cells.rows.count).hidden = true end sub VBA以前にエクセルの操作について知識が必要かも知れません?

junction_7_7
質問者

補足

ユーザーフォーム内にある、スプレッドシートなのですが、 protect を指定するとエラーになってしまいます。

関連するQ&A