
No.1ベストアンサー
- 回答日時:
> deleteキーを押しても式が消えないようにしたい
シート保護でいいんですよね?
Sub test01()
With ActiveSheet
.Range("G:G").Locked = True
.Range("G:G").FormulaR1C1 = "=RC[-3]*RC[-1]"
.Protect
End With
End Sub
merlionXXさま
返信おくれまして申し訳ありません。
>deleteキーを押しても式が消えないようにしたい思っています。
シート保護しかないようですね。。。
VBAなら消えないものだと思っていました。
他の方法を含め検討してみたいと思います。
ありがとうございました。
No.3
- 回答日時:
> VBAなら消えないものだと思っていました。
merlionXXです。
どうしてそうおもわれたのでしょう?
ひょっとしてVBAのUndoのことを言っているのかな?
それなら
ActiveSheet.Range("G:G").FormulaR1C1 = "=RC[-3]*RC[-1]"
で、式を挿入した後で標準モジュールではなく当該シートのシートモジュールの方に
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 7 Then Exit Sub
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End Sub
と入れてみてください。(順序をまちがわないように)
そうすればシート保護しなくとも、G列に変更が加えられた場合はつねにUndoされ、もとの状態にもどります。
merlionXXさま
アドバイスありがとうございます。
undoという手があるのですね!
なにぶんVBA初心者なもので質問内容もあやふやでした。
低レベルな質問で皆様のお時間を
割いていただき感謝しています。
一旦、質問は解決とさせていただきます。
ありがとうございました。
No.2
- 回答日時:
質問の表現が余分なことが多く、主旨がぼやけている。
VBAでセルに数式を入れても
セルに直接数式を打ち込んでも
DELETEキーを押せば式は消えます。
ーー
>(標題)VBAで列に計算式を入れたい、は違ったことをいっている。
式を抹消や変更され無いようにしたい、
というのが質問の主旨ではないですか。
それならシートの保護しかない。
その回答は既に出ているので略。
ーー
>sheet1のG列全体にVBAで数式を入れて、
>G列全体に式を入れたいと思っています。
など書く必要は無いでしょう。
これらは質問のメインテーマではないのでしょう。
imogasiさま
返信おくれまして申し訳ありません。
主旨は列同士の数式で、
VBAなら消えないものだと思っていたために
二つを満たすものがあるのだとおもっていました。
他の方法を含め検討してみたいと思います。
ご指摘いただきありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCELで2つのシートから一致し...
-
空白や関数がある複数シートを...
-
エクセルでページ毎の計をつけ...
-
EXCEL2007で2つのシートのどっ...
-
ExcelのIF関数について
-
SUMPRODUCT関数で複数条件適用...
-
エクセルである文字列を含むも...
-
VBAで他のシートの特定の列を検...
-
excelの列がいっぱいになり列を...
-
エクセルの余白を0にしても列...
-
EXCELで不良率を出そうと思って...
-
エクセルで前年同日・前月同日...
-
Excel 表の必要箇所だけを抜き...
-
エクセル関数式のセル列を一定...
-
セル入力文字が、「右のセルに...
-
エクセル、ページをまたがった...
-
エクセルでセルの中の文字が削...
-
あるセルに色を付けた時、別の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCEL2007で2つのシートのどっ...
-
EXCELの列の幅
-
Excel 表の必要箇所だけを抜き...
-
ドロップダウンリスト
-
エクセルで電話番号にハイフン...
-
EXCELで2つのシートから一致し...
-
エクセルで前年同日・前月同日...
-
エクセルでページ毎の計をつけ...
-
ExcelのIF関数について
-
Excelで奇数行を削除
-
excelの列がいっぱいになり列を...
-
EXCELで不良率を出そうと思って...
-
エクセルの関数、お願いします<...
-
エクセルのマクロを教えてくだ...
-
エクセル 並び替え
-
Vba Copy&Pasteについて教えて...
-
SUMPRODUCT関数で複数条件適用...
-
マクロ VBA 他のブックのデータ...
おすすめ情報