| 
    
     |  | 初心者さん、こんにちは 
 あまり熱くならずに・・・
 今回の件は初心者さんの為に発言されていると思いますよ。
 今回の初心者さんの質問に対して回答できる方は、この板
 にもたくさんいらっしゃいます。
 
 しかし、その全ての方がご自分の仕事を持ち、手隙の時間
 にレスしているという状況だと思います。
 
 前回は幸運にもKeinさんの、手隙の時間にたまたま初心者
 さんの質問がUPされレスしただけだと思われませんか?
 今回もKeinさんの手隙の時間にあたるかどうかなんて分か
 らないですよね?
 だから
 >>> 回答者を名指しで指定するのはどうかと思います。
 >>> 実際他の回答者は解答しにくいですし、
 こういうアドバイスを付けていただいているのだと思いま
 すよ。
 
 表現の仕方が悪いかも・・・Keinさんすいません^^;
 
 で、こんな事ばかり言ってても初心者さんの状況が進展し
 ませんので、初心者さんの質問に対してですが、
 
 Keinさんに提示していただいたもので、初心者さんのご希
 望の動作をすると思われます。
 
 2回にわたってコードをUPされていますが、初心者さんの
 現在のコードは2回目にUPされたものだけになっていませ
 んか?
 
 今一度、初心者さんの現在のコードが以下のようになって
 いるかご確認ください。
 
 標準moduleに
 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.1,0)"
 End With
 End Sub
 
 ThisWorkbookモジュールに
 Private Sub Workbook_Open()
 Application.OnKey "^{ENTER}", "MyCalc"
 End Sub
 
 Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Application.OnKey "^{ENTER}"
 End Sub
 
 シートモジュールに
 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim Fom As String
 
 If Intersect(Target, Range("F6:F65536")) Is Nothing Then Exit Sub
 With Target
 If .HasFormula = False Then Exit Sub
 Fom = .Formula
 If UCase(Left$(Fom, 5)) <> "=ROUN" Then
 Fom = Right$(Fom, Len(Fom) - 1)
 Application.EnableEvents = False
 .Formula = "=ROUNDDOWN(" & Fom & ",0)"
 Application.EnableEvents = True
 End If
 End With
 End Sub
 
 |  |