回答編集履歴
1
コード修正&コード追加
answer
CHANGED
@@ -4,13 +4,26 @@
|
|
4
4
|
Sub test()
|
5
5
|
With Worksheets("Sheet1")
|
6
6
|
With .Range("K10", .Cells(Rows.Count, "J").End(xlUp).Offset(, 1))
|
7
|
-
.NumberFormatLocal = "#,##0_ ;[赤]-#,##0"
|
7
|
+
.Offset(, 1).NumberFormatLocal = "#,##0_ ;[赤]-#,##0" '次の列に書式設定
|
8
8
|
.Formula = "=ROUNDDOWN(J10*(100*VLOOKUP(Sheet2!$I$7,'Sheet3'!$A$2:$B$" & Rows.Count & ",2,FALSE))/100,0)"
|
9
|
-
.Offset(, 1).Value = .Value '
|
9
|
+
.Offset(, 1).Value = .Value '次の列(L列)に値をコピー
|
10
10
|
.ClearContents '数式削除
|
11
11
|
End With
|
12
12
|
End With
|
13
13
|
MsgBox "処理が終了しました"
|
14
14
|
End Sub
|
15
|
+
```
|
16
|
+
計算列の数式を削除してしまうのなら、計算列はなくてもいいですね。計算列は削除して、K列を支払金額にして、K列を値で上書きすればOKです。
|
15
17
|
|
18
|
+
```vba
|
19
|
+
Sub test()
|
20
|
+
With Worksheets("Sheet1")
|
21
|
+
With .Range("K10", .Cells(Rows.Count, "J").End(xlUp).Offset(, 1))
|
22
|
+
.NumberFormatLocal = "#,##0_ ;[赤]-#,##0" '書式設定
|
23
|
+
.Formula = "=ROUNDDOWN(J10*(100*VLOOKUP(Sheet2!$I$7,'Sheet3'!$A$2:$B$" & Rows.Count & ",2,FALSE))/100,0)"
|
24
|
+
.Value = .Value '値で上書き
|
25
|
+
End With
|
26
|
+
End With
|
27
|
+
MsgBox "処理が終了しました"
|
28
|
+
End Sub
|
16
29
|
```
|