[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Functionプロシージャについて』(CDG)
マクロ初心者・学習中です。
A列に税抜金額が記入されていて、B列に税込金額を
返すfunctionプロシージャについて教えて下さい。
functionプロシージャにある「num」は
なぜ「A列の税抜金額」だとわかるのですが?
どこにもA列の値を参照するっていう
記述がないように思うのですが・・。
よろしくお願いします。
Sub sample()
Dim i As Long For i = 2 To 5 Cells(i, 2) = Tax(Cells(i, 1)) Next End Sub
Function tax(num As Long) As Long
Tax = num * 1.05 End Fuction
< 使用 Excel:Excel2003、使用 OS:WindowsXP >
Cells(i, 2)がB列
Cells(i, 1)がA列
という意味だと思います。
(マナ) 2014/04/20(日) 08:15
すごくとんちんかんな質問をしているような気がしますが。
(CDG) 2014/04/20(日) 08:33
Subプロシージャの中で実際につかうときに、 どの列か指定しています。
今回のは、別の書き方をすると
Sub sample2() Range("B2").Value = Tax(Range("A2").Value) Range("B3").Value = Tax(Range("A3").Value) Range("B4").Value = Tax(Range("A4").Value) Range("B5").Value = Tax(Range("A5").Value) End Sub
他の列にしたい場合は、こんな感じ。
Sub sample3() Range("C2").Value = Tax(Range("D2").Value) Range("C3").Value = Tax(Range("D3").Value) Range("C4").Value = Tax(Range("D4").Value) Range("C5").Value = Tax(Range("D5").Value) End Sub
(マナ) 2014/04/20(日) 08:52
ありがとうございますっ!!!
まだ勉強不足でうまく説明できなくて(涙)
(CDG) 2014/04/20(日) 09:12
解決かもしれないけど、補足(?)で。
> functionプロシージャにある「num」は > なぜ「A列の税抜金額」だとわかるのですが? > どこにもA列の値を参照するっていう > 記述がないように思うのですが・・。
> Cells(i, 2) = Tax(Cells(i, 1)) は、正しくは Cells(i, 2).Value = Tax(Cells(i, 1).Value) です。つまり税込金額をtax()関数で得るためには、列情報やセルアドレス情報は必要なく、 必要なのは (税抜金額という)数値 だけなんです。
その関数は Cells(i, 2).Value = Tax(4800) '4800円の税込み価格は? のようにも使えます。 (kanabun) 2014/04/20(日) 10:31
↓同じ方かな。。。? [[20140406105448]] 『Functionプロシージャについて』(SFO)
追加の書き込みもありますので、確認してもらえると良いかもしれません。 (HANA) 2014/04/21(月) 09:26
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.