エクセル セル式非表示と 行コピー&追加
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2015年2月6日(金)11時16分 From: mesoddo | 返事 削除 変更 |
少し慌てちゃってますか? 落ち着いて、やりたいことを言葉にすることから、 しっかり取り組んだ方がいいのかも知れません。 'セル式非表示' '基本セル行' '最終行に 追加アペンド' '教科書のセル式非表示' これらの用語は、一般に使われている用語ではないように感じます。 専門的な用語を適切に使えるかどうかは、大して重要ではありませんが、 「伝えることができているか」「自分の中で整理出来ているか」は、 問題解決の根幹に関わるポイントです。 不確かな用語(用語っぽく見える省略された単語)は誤解や混乱を招きますし、 いっそ専門用語など用いずとも、誰にでも解る平易な言葉で整理してから 伝えるようにした方が、問題解決の近道になりますし、 結果的に用語への理解も深くなるのではないでしょうか。 具体的に何をなさりたいのか、まだ、判っていませんし、 どうすれば問題を解決出来るのか確信を持てないままですが、 書けることだけ書いてみます。 セル範囲に[ロック]と数式に対して[セルの書式設定][保護][表示しない]を設定した上で、 ワークシートに対して[シートの保護]を設定している ということでしょうか? 「列のデータ最下行のひとつ下のセルに何かしらのデータを追加したい」 けれども、「シートの保護が掛かっているせいで」、 「VBAから望みの処理を実行させることが出来ないでいる」 という解釈で、もしも合っているならば、、、。 worksheet.Protect メソッドの名前付き引数UserInterfaceOnlyにTrueを指定して、 ワークシートの保護を上書きするようにやり直してあげれば、 VBAからでも大抵の処理が出来るようになります。 または、worksheet.Unprotect メソッドで一時的に保護を解除し、 お望みの処理をしてからworksheet.Protect メソッドで保護し直す、 という方法だってあります。 以下は、worksheet.Protect メソッドの名前付き引数UserInterfaceOnlyを設定し、 シート上での手作業に対しては保護が適用されているものの、 VBAからは様々処理が可能になる、という例を示す為の記述です。 アクティブシートに既にシートの保護が掛かっている状態で、 動作を確認してみて下さい。 Sub Re8913089() With ActiveSheet If .ProtectionMode = False Then ' VBAからの処理に対しても保護されているならば .Protect Password:="", UserInterfaceOnly:=True ' 他に必要な引数は適宜 End If End With With Cells(Rows.Count, "A").End(xlUp).Offset(1) .Formula = "=B1" .Locked = True .FormulaHidden = True End With End Sub 実用の場面では、worksheet.Protect メソッドの名前付き引数UserInterfaceOnlyを いちいち設定し直す必要はないです。 但し、せっかく設定したUserInterfaceOnly:=Trueですが、 上書き保存をしても、この状態をで維持することは出来ず、 保存されるのは通常のシートの保護だけです。 要は、ブックが開いている間だけ有効、ということです。 なので、一般的な扱い方としては、ブックが開いた時に UserInterfaceOnly:=Trueを設定し直しようにします。 そうすれば、以後の処理ではシートの保護をいちいち弄る必要はありません。 ' ' ThisWorkbook モジュール Private Sub Workbook_Open() Sheets("Sheet1").Protect Password:="", UserInterfaceOnly:=True ' 他に必要な引数は適宜 End Sub |
Message#1 2015年2月5日(木)17時17分 From: nagoya | 返事 削除 変更 |
直接VBAに関する内容ではないのですが、Excelエクセルのセル式非表示とそのシートの 基本セル行(セル式非表示に成っています)のセル式を最終行に追加アペンドは両立しないのでしょうか? 教科書のセル式非表示は可能なのですが、保護が掛かって 仕事に成らないのですが、理解不足かエクセルの限界なのかご教示くだされば幸いです。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降