![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Excel(エクセル) エクセルの計算式を教えてください 3 2023/03/14 13:48
- Excel(エクセル) エクセル 計算式を教えてください 3 2022/10/19 08:58
- Visual Basic(VBA) チームごとにどの商品を何個希望しているか数量を算出したいです。 A列(A2~A265)に各チーム名が 3 2023/07/18 18:46
- Excel(エクセル) エクセル/列追加時、合計行の計算式 7 2023/03/15 11:14
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCELで2つのシートから一致し...
-
excelの列がいっぱいになり列を...
-
VBAで列に計算式を入れたい
-
Excel 表の必要箇所だけを抜き...
-
マクロ VBA 他のブックのデータ...
-
エクセルでページ毎の計をつけ...
-
(形式直し)Sheetの表のサイズ...
-
エクセルで前年同日・前月同日...
-
セル入力文字が、「右のセルに...
-
googleスプレッドシートで「塗...
-
パワポの複数ページにまたがる...
-
ワードの文章囲み枠(?)を消...
-
エクセル、ページをまたがった...
-
エクセルで知らない間に行がず...
-
エクセルの表をワードに貼り付...
-
PowerPointの表の罫線を二重罫...
-
ワードの表の行が広がってしまう
-
ワードで勝手に点線ラインがでる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
pdfの表をexcelにはりつけて計...
-
EXCELの列の幅
-
EXCELで2つのシートから一致し...
-
Excel 表の必要箇所だけを抜き...
-
EXCEL2007で2つのシートのどっ...
-
エクセルでページ毎の計をつけ...
-
エクセルで前年同日・前月同日...
-
エクセルで電話番号にハイフン...
-
エクセルVBAで複数列データを1...
-
excelの列がいっぱいになり列を...
-
EXCELで不良率を出そうと思って...
-
Excelで奇数行を削除
-
ExcelのIF関数について
-
ピボットテーブル作成後、重複...
-
VBAで他のシートの特定の列を検...
-
エクセルで縦線のいっぱい入っ...
-
ドロップダウンリスト
-
マクロ VBA 他のブックのデータ...
おすすめ情報