[[20170112112153]] 『エクセルブックを開いた瞬間、数式をセットしたい』(なな) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『エクセルブックを開いた瞬間、数式をセットしたい』(なな)

初歩的な質問で申し訳ありません。

エクセルの数式コードを書き、動作も確認したのですがかなり基本的なところで躓いています。これまで、

Sub 名前()

'名前 Macro

 コード羅列

End Sub

上記のように'名前 macro としてボタン配置⇒マクロ登録しボタンクリックでマクロを起動させるやり方ばかりしてきたため、ボタンクリック無しで記述したコードがセットし機能されるというやり方を行った事が無く、突如どうしたら良いかわからなくなってしまいました。今書いているコードは下記で、一般的なVlookup数式を使用したい感じです。マクロを起動するまでもないものなので、ブックを開いたらもう数式が反映されているようにしたいのですが、どのようにしたら良いでしょうか…?

Sub 数式()

Dim i As Long

On Error Resume Next

Range("A1") = Application.WorksheetFunction.VLookup(Range("A2"), Range("B1:D15"), 2, False)

End Sub

< 使用 Excel:Excel2013、使用 OS:Windows7 >


ThisWorkBookのWorkbook_Openにコードを記述するか、標準モジュールのAUTO_OPENを使ってみてください。

でも、コードで埋めている式を見ても、A1セルにVLOOKUPの数式をセットしておけば良くて、毎回セットする意味が無いような…? 値で埋めたい、という事ですかね?
(???) 2017/01/12(木) 11:40


ありがとうございます。一度やってみます。
初めはエクセル数式をセットしておいたのですが、エクセル数式に疎い人にもファイルを配布する必要が出てきたため、数式を触って壊してしまったということになっても良いようにVBA側で数式を入力出来る(何か触ってしまっても毎回リセットされる)状態にしておけばアフタフォローで毎回数式をやり直さなくても良いのかな…と考えた次第です。実際のファイルには複数数式を配置したい為。シート保護も考えたのですがユーザー入力箇所も複数あるため保護も手間かなと考えました。何か良い方法他にございましたらご教示頂けると助かります^^
(なな) 2017/01/12(木) 11:52

 手間が掛かっても保護の方がいいのではないでしょうか。
 マクロ無効にされたら何の意味もないですから。
(bi) 2017/01/12(木) 12:01

シートの保護は、フォーマットを修正するときに邪魔になるので、私も滅多に使いませんね。

では他人に数式を壊されないためにはどうするか。 例えば、入力して欲しいセルは薄い黄色や水色等、弱めの色を決めて塗っておきます。どんなブックでも、入力して欲しいセルの色は統一します。

数式の入ったセルは、灰色にでもしておき、灰色セルは触っては駄目、という事を周知します。 あとは皆さん徐々に色を覚えていって、灰色は入力を避けるようになりますよ。
(???) 2017/01/12(木) 12:02


ありがとうございます。
Workbook_Openできました。今後も色々資料作成が必要なので、皆さんのご意見参考にしてみます^^
(なな) 2017/01/12(木) 13:04

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.