質問編集履歴
1
コードを追加しました。Calculateを追加しても正しく反映されませんでした。
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
|
|