|
先日お世話になりました初心者です。
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
となっております。
|
|