[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同枠内で足算をしたい』(momo)
入力間違いをしちゃったらどうするんだろう? なんてことを考えましたが、無視しましたWWW ※あるセルは、A1 にしてあります。 文字を入れたときはスルーします。 1)シートのタブを右クリック \Sheet1/←ここ 2)シートの表示 3)出てきた白い画面に、下記コードをコピペ
シートモジュールにコピペ
'--------------------
Public x As Variant
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then: Exit Sub
If Target.Address(0, 0) <> "A1" Then: Exit Sub
If Not IsNumeric(Target) Then: Exit Sub
Application.EnableEvents = False
If IsNumeric(x) Then
Range("A1") = x + Target
Else
Range("A1") = Target
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = Range("A1")
End Sub
(キリキ)(〃⌒o⌒)b
キリキさん またまた同じようなマクロですが、せっかく作ったので。 A1を入力する枠(セル)と考えています。
Public myVal As Long
====================================================================
Private Sub Worksheet_Activate()
myVal = Range("A1").Value
End Sub
====================================================================
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Count > 1 Then Exit Sub
If Not IsNumeric(.Value) Then Exit Sub
If IsEmpty(.Value) Then Exit Sub
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
Application.EnableEvents = False
.Value = .Value + myVal
myVal = .Value
Application.EnableEvents = True
End If
End With
End Sub
(SHIOJII)
あっ。私のは文字を入れるとダメですね。捨ててください。
(SHIOJII)
なるほど〜 σ(^o^;)のは、Deleteが効かないんですよね・・・
(キリキ)(〃⌒o⌒)b とりあえず風呂入ってこよっと
これで、Delet も有効になるかな?
Public x As Variant
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Or Target.Address(0, 0) <> "A1" Then: Exit Sub
If Not IsNumeric(Target) Or Target = "" Then: Exit Sub
Application.EnableEvents = False
If IsNumeric(x) Then
Range("A1") = x + Target
Else
Range("A1") = Target
End If
Application.EnableEvents = True
Range("A1").Activate
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = Range("A1")
End Sub
(キリキ)(〃⌒o⌒)b ちょい修正
こうするといかがでしょう?
Public x As Variant
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then: Exit Sub
'If Target.Address(0, 0) <> "A1" Then: Exit Sub
If Not IsNumeric(Target) Then: Exit Sub
Application.EnableEvents = False
If IsNumeric(x) Then
Target = x + Target
Else
Target = Target
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = Target
End Sub
(キリキ)(〃⌒o⌒)b
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.