|
初心者さん、こんにちは
あまり熱くならずに・・・
今回の件は初心者さんの為に発言されていると思いますよ。
今回の初心者さんの質問に対して回答できる方は、この板
にもたくさんいらっしゃいます。
しかし、その全ての方がご自分の仕事を持ち、手隙の時間
にレスしているという状況だと思います。
前回は幸運にも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
|
|