[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同枠内で足算をしたい』(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.