質問編集履歴

1

コードを追加しました。Calculateを追加しても正しく反映されませんでした。

2020/03/14 05:39

投稿

emiri_py
emiri_py

スコア17

test CHANGED
File without changes
test CHANGED
@@ -10,11 +10,51 @@
10
10
 
11
11
  ③変更された関数の結果をVBAの変数に代入
12
12
 
13
- ④代入された変数を用いて次の処理を行う
13
+ ④代入された変数を用いて次の処理を行う```VBA
14
+
15
+ コード
16
+
17
+ ```
18
+
19
+ ' 準備シートの関数をコピペ
20
+
21
+ range1 = Workbooks("a.xlsm").Sheets("準備").Range("D1").Value
22
+
23
+ Workbooks("a.xlsm").Sheets("準備").Range("E1:R1").Copy
24
+
25
+ Workbooks("a.xlsm").Sheets("準備").Range("E3:E" & range1 + 2).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
26
+
27
+ :=False, Transpose:=False
28
+
29
+
30
+
31
+ ' 関数計算
32
+
33
+ Workbooks("a.xlsm").Sheets("準備").Calculate
34
+
35
+ Workbooks("a.xlsm").Sheets("次").Calculate
36
+
37
+
38
+
39
+ ' 次シート更新
40
+
41
+ range1 = Workbooks("a.xlsm").Sheets("次").Range("B1").Value
42
+
43
+ Workbooks("a.xlsm").Sheets("次").Range("D20").Copy
44
+
45
+ Workbooks("a.xlsm").Sheets("次").Range("D20:D" & (19 + range1 * 9)).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
46
+
47
+ :=False, Transpose:=False
48
+
49
+
50
+
51
+ ```
14
52
 
15
53
 
16
54
 
17
55
  しかし、③で代入される変数が正しい結果で代入されず、計算途中もしくは計算前のデータで代入されてしまいます。
56
+
57
+ (コードで言う「次シート更新」部分のrange1の値が正しく反映されません。)
18
58
 
19
59
 
20
60