• ベストアンサー

(少数点、第三位から切り捨て)をこのマクロにどう入力すればいいですか??

四捨五入を切捨て(第三位)するにはどうしたらいいのでしょうか?? VBAをちゃんと理解できていないので、誰か分かる人助けてください!! ついでにROUNDDOWNとかの関数はVBAに入力するコードとしては、 まったく別物なんでしょうか??初心者が生意気言ってすいません・・・。 Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Application.EnableEvents = False If Range(Target.Address).Column = 2 And _ Range(Target.Address).Row >= 5 And _ Range(Target.Address).Row <= 10 Then Range(Target.Address).Value = _ Range(Target.Address).Value / 19 End If Application.EnableEvents = True End Sub よろしくおねがいします・・。 カテゴリー間違えて入れなおしました。すみません・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

With Target   If .Column = 2 And .Row >= 5 And .Row <= 10 Then     .Value = WorksheetFunction.RoundDown(.Value / 19, 3)   End If End With VBAで使用できるワークシート関数一覧 http://www.relief.jp/itnote/archives/001974.php [XL2000]VBA の Round とワークシート関数 Round の違い http://support.microsoft.com/kb/225330/ja

otoichihr
質問者

お礼

お礼が遅れてすみません・・・。 さっそく使わせてもらいました!! こんなにスッキリした文になるんですね。本当にありがとうございました。

その他の回答 (1)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

回答は#1さんの通りです ちょっと変数の使い方が気になったので寄りました >Private Sub Worksheet_Change(ByVal Target As Range) の Target As Range で変数をRange型で宣言しています 例を挙げます、セルA1へ何か入力後、次のマクロを試してみて Sub test() Dim rng As Range Set rng = Range("A1") MsgBox "Valueの値" & vbLf & "変数rng= " & rng.Value & " Range(""A1"")= " & Range("A1").Value MsgBox "Addressの値" & vbLf & "変数rng= " & rng.Address & " Range(""A1"")= " & Range("A1").Address MsgBox "Columnの値" & vbLf & "変数rng= " & rng.Column & " Range(""A1"")= " & Range("A1").Column MsgBox "Rowの値" & vbLf & "変数rng= " & rng.Row & " Range(""A1"")= " & Range("A1").Row Set rng = Nothing End Sub 結果、質問のコードを修正すると下記のようになります Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Column = 2 And _ Target.Row >= 5 And _ Target.Row <= 10 Then Target.Value = _ Evaluate("ROUNDDOWN(" & Target.Value & "/19,3)") End If Application.EnableEvents = True End Sub 別に間違っているわけではないので、ただ理解していた方が良いかなと思って 頑張ってください

otoichihr
質問者

お礼

親切な回答ありがとうございます。 みなさんのようになれる自信はありませんが、 どんどん勉強させてもらいます。 本当にありがとうございました!!

関連するQ&A

専門家に質問してみよう