Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8232 / 13644 ツリー ←次へ | 前へ→

【34453】ワークシート関数 四谷 06/2/2(木) 23:41 質問[未読]
【34454】Re:ワークシート関数 ponpon 06/2/3(金) 0:40 発言[未読]
【34471】Re:ワークシート関数 Kein 06/2/3(金) 12:30 回答[未読]
【34494】Re:ワークシート関数 PP 06/2/3(金) 21:08 回答[未読]

【34453】ワークシート関数
質問  四谷  - 06/2/2(木) 23:41 -

引用なし
パスワード
   Range("A1:A20").value=WorksheetFunction.RoundDown(Range("C1:C20"), 0)

というような処理をしたいのですが、エラーとなってしまいます。
WorksheetFunction.RoundDown(Range("C1:C20"), 0)
の中のRange("C1:C20")の記述がまずいのでしょうか?

HelpをみたらMinとかある範囲の中で1個を求めるような関数の場合は
いけるようですが・・・。

よろしくお願いいたします。

【34454】Re:ワークシート関数
発言  ponpon  - 06/2/3(金) 0:40 -

引用なし
パスワード
   こんばんは。

A1にC1をROUNDDOWUNさせた値を入力するということですか?

いろいろ方法があると思いますが、

A1に=ROUNDDOWN(C1,0)
A20までフィル

マクロでは、こんなのでも
Sub test()
  Dim r As Range

  For Each r In Range("A1:A20")
    r.Value = Application.RoundDown(r.Offset(, 2).Value, 0)
  Next

End Sub

【34471】Re:ワークシート関数
回答  Kein  - 06/2/3(金) 12:30 -

引用なし
パスワード
   セル範囲 C1:C20 に、数式を埋め込むコードも考えられます。

With Range("C1:C20")
  .Formula = "=ROUNDDOWN(A1,0)"
  .Value = .Value
End With

【34494】Re:ワークシート関数
回答  PP  - 06/2/3(金) 21:08 -

引用なし
パスワード
   ▼四谷 さん:

今晩は。オーソドックスかも知れませんが…

Sub RD ()

Dim myRange As Range

strR = 6
endR = Cells(65536, 2).End(xlUp).Row

For i = strR To endR
Set myRange = Cells(i, 2)

Cells(i, 3).Value = Application.WorksheetFunction.RoundDown(myRange.Value, 0)
Next i

End Sub

8232 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free