回答編集履歴

4

追記

2017/08/27 10:06

投稿

sazi
sazi

スコア25197

test CHANGED
@@ -46,6 +46,18 @@
46
46
 
47
47
  Cells(4, 2) = 一万円札枚数
48
48
 
49
+
50
+
51
+ '若しくは
52
+
53
+
54
+
55
+ Cells(4, 2) = 金額 \ 10000
56
+
57
+ 金額 = 金額 - (Cells(4, 2) * 10000)
58
+
59
+
60
+
49
61
  ```
50
62
 
51
63
  のようになります。

3

追記

2017/08/27 10:05

投稿

sazi
sazi

スコア25197

test CHANGED
@@ -19,3 +19,37 @@
19
19
  前回金額欄があれば、単に式でも大丈夫そうですけど。
20
20
 
21
21
  ※割り算にはint()またはtrunc()を使用すれば商(枚数)が取得できます。
22
+
23
+
24
+
25
+ 追記
26
+
27
+ ---
28
+
29
+ コード部分が追加されたので、確認しました。
30
+
31
+ 上手くいっていない点については以下です。
32
+
33
+ ・枚数を求めるているが、小数点付きになっている
34
+
35
+ ・残金額を求めているが、小数点付きの枚数を使用しているので、正しい結果が得られていない
36
+
37
+ ・結果枚数を書き込もうとしているが、右辺と左辺が逆
38
+
39
+ コードの一部を例に修正すると、
40
+
41
+ ```VBA
42
+
43
+ 一万円札枚数 = 金額 \ 10000
44
+
45
+ 金額 = 金額 - (一万円札枚数 * 10000)
46
+
47
+ Cells(4, 2) = 一万円札枚数
48
+
49
+ ```
50
+
51
+ のようになります。
52
+
53
+ ポイントは枚数(商)を求めたいので、/(実数の除算)ではなく、\(整数の除算)を使用したことです。
54
+
55
+ それから、この順序で処理するなら、金額による判定(IF文)は不要ですね。

2

訂正

2017/08/27 09:55

投稿

sazi
sazi

スコア25197

test CHANGED
@@ -16,6 +16,6 @@
16
16
 
17
17
 
18
18
 
19
- 単に式でも大丈夫そうですけど。
19
+ 前回金額欄があれば、単に式でも大丈夫そうですけど。
20
20
 
21
21
  ※割り算にはint()またはtrunc()を使用すれば商(枚数)が取得できます。

1

訂正

2017/08/26 02:44

投稿

sazi
sazi

スコア25197

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  次回の金種分は
12
12
 
13
- ・(前回金種×前回枚数)÷今回金種=今回枚数
13
+ ・(前回金額-前回金種×前回枚数)÷今回金種=今回枚数
14
14
 
15
15
  で表せます。
16
16