Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7162 / 13644 ツリー ←次へ | 前へ→

【40786】VBAでの引き算 ハーレーダビットソン 06/7/24(月) 11:23 質問[未読]
【40788】Re:VBAでの引き算 Jaka 06/7/24(月) 11:48 発言[未読]
【40789】Re:VBAでの引き算 ハーレーダビットソン 06/7/24(月) 12:05 質問[未読]
【40792】Re:VBAでの引き算 Jaka 06/7/24(月) 12:44 発言[未読]
【40796】Re:VBAでの引き算 ハーレーダビットソン 06/7/24(月) 13:32 お礼[未読]

【40786】VBAでの引き算
質問  ハーレーダビットソン  - 06/7/24(月) 11:23 -

引用なし
パスワード
   こんにちは。

VBAでH列の値を計算式:F列−E列
で自動に表示できるようにしたく下記のようにモジュールを書きました。

X = 8(8行目から記入されていく)

Do While Cells(X, 6) <> ""

Cells(X, 8).Value = Cells(X, 6).Value - Cells(X, 7).Value

X = X + 1

Loop

End Sub

単純にこれで良いと思ったのですが、
「型が一致しません」のメッセージが出てしまいます。

よろしくご教授お願いします。

【40788】Re:VBAでの引き算
発言  Jaka  - 06/7/24(月) 11:48 -

引用なし
パスワード
   ▼ハーレーダビットソン さん:
>Cells(X, 8).Value = Cells(X, 6).Value - Cells(X, 7).Value
>単純にこれで良いと思ったのですが、
>「型が一致しません」のメッセージが出てしまいます。
文字が入っているとか...。
単純に
Val(Cells(X, 6).Value) - Val(Cells(X, 7).Value)
にしても良いですが、都度内容を確認したり、単に関数
=F8-H8
なんて書いてもいいかも....。

【40789】Re:VBAでの引き算
質問  ハーレーダビットソン  - 06/7/24(月) 12:05 -

引用なし
パスワード
   ▼Jaka さん:
>文字が入っているとか...。
失礼しました。1行目に文字入ってました。

ちなみにF列とG列に入力が終わったら
自動でこのマクロが動くようにできるのでしょうか?
(エンターを押したら実行というイメージです)

このブックはお客さんに渡して入力してもらい回収するので
H列のセルに計算式を入れるのは何かの拍子に消されてしまいそうで
怖いのです。

何か良い知恵お貸し下さい。
よろしくお願いします。

【40792】Re:VBAでの引き算
発言  Jaka  - 06/7/24(月) 12:44 -

引用なし
パスワード
   >H列のセルに計算式を入れるのは何かの拍子に消されてしまいそうで
>怖いのです
これだけだったら、マクロなど使わずにセルのロック解除とシート保護だけですみそうですが....。

○書式設定で全てのセルの保護ロックを外す。
 計算式を入れるセルを保護ロックする。
 シートを保護する。

これで、計算式を入れたセルは編集できなくなります。

【40796】Re:VBAでの引き算
お礼  ハーレーダビットソン  - 06/7/24(月) 13:32 -

引用なし
パスワード
   ▼Jaka さん:
>>H列のセルに計算式を入れるのは何かの拍子に消されてしまいそうで
>>怖いのです
>これだけだったら、マクロなど使わずにセルのロック解除とシート保護だけですみそうですが....。
>
>○書式設定で全てのセルの保護ロックを外す。
> 計算式を入れるセルを保護ロックする。
> シートを保護する。
>
>これで、計算式を入れたセルは編集できなくなります。
ありがとうございます。

また一つ勉強になりました。
感謝感謝( ^ ^ )

7162 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free