|
▼Kein さん:
自分なりに色々と試したのですが、ダメでした。悔しいですが私1人じゃ無理です。
今のシートモジュールの内容です。
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Address <> "$A$1" Then Exit Sub
If .Count > 1 Then Exit Sub
If IsEmpty(.Value) Then Exit Sub
End With
Application.OnKey "^{ENTER}", "MyCalc"
End Sub
Private Sub Worksheet_Deactivate()
Application.OnKey "^{ENTER}"
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyR As Range, C As Range
Dim Fom As String, St As String
On Error GoTo ELine
Set MyR = Target.SpecialCells(3, 1)
On Error GoTo 0
Application.EnableEvents = False
For Each C In MyR
Fom = C.Formula
If Left$(Fom, 6) <> "=ROUND" Then
St = Right$(Fom, Len(Fom) - 1)
C.Formula = "=ROUNDDOWN(" & St & ",0)"
End If
Next
Application.EnableEvents = True
Set MyR = Nothing
ELine:
End Sub
標準モジュールの内容は
Sub MyCalc()
Dim Ad As String
If TypeName(Selection) <> "Range" Then Exit Sub
If Intersect(ActiveCell, Range("F6:F65536")) Is Nothing Then
Exit Sub
End If
With ActiveCell
Ad = .Offset(-1).Address
.Formula = "=ROUNDDOWN(SUM($F$6:" & Ad & ")*0.15,0)"
End With
End Sub
シートモジュールに当初入っていた
Private Sub Worksheet_Activate()
Application.OnKey "^{ENTER}", "MyCalc"
End Sub
Private Sub Worksheet_Deactivate()
Application.OnKey "^{ENTER}"
End Sub
は消しちゃダメなのでしょうか?
それと、一応消してくださいとおっしゃってたコードそのまま残して使用してました。
コンパイルエラー 名前が適切ではありません となりますが勝手に変えてもいいのでしょうか?
とりあえず、1を付けてみたらエラーはでませんでしたが。
まったくもって他力本願で本当に恐縮です。
|
|