| 
    
     |  | 先日お世話になりました初心者です。 keinさん、いらしたら是非またお力をお貸しくださいm(__)m
 
 http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=30943;id=excelで、
 イベントの発生を「A1に何か入力されたら」としてVBAを教えて頂きましたが、「bookが開いたら」に変更できますでしょうか?
 どうしても不具合が生じてしまい困っております。
 一番手っ取り早いのが、この「bookが開いたら」でした。
 お手数お掛けいたしますが、また、お力拝借できませんでしょうか?
 
 現在は、対象のシートmoduleに
 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim Fom As String
 
 With Target
 If .Count > 1 Then Exit Sub
 If IsEmpty(.Value) Then Exit Sub
 If .Address = "$A$1" Then
 Application.OnKey "^{ENTER}", "MyCalc"
 Exit Sub
 End If
 End With
 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
 
 標準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
 
 となっております。
 
 
 |  |