teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

サンプルコードの追加

2018/02/20 12:18

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -2,8 +2,21 @@
2
2
 
3
3
  ```vba
4
4
  With Workbooks(fileA).Worksheets(sheet1)
5
- .Range("G5:I23").Value = .Evaluate("G5:I23*3")
5
+ .Range("G5:I23").Value = .Evaluate("G5:I23*-2")
6
6
  End With
7
7
  ```
8
+ [Worksheet.Evaluate メソッド (Excel)](https://msdn.microsoft.com/ja-jp/VBA/Excel-VBA/articles/worksheet-evaluate-method-excel?f=255&MSPPError=-2147217396)
8
9
 
10
+ 下記のように簡略に記述することもできます。
11
+ ```vba
12
+ With Workbooks(fileA).Worksheets(sheet1)
13
+ .Range("G5:I23").Value = .[G5:I23*-2]
14
+ End With
15
+ ```
16
+ また、Forループを使った場合は、
17
+ ```vba
18
+ Dim r As Range
9
- [Worksheet.Evaluate メソッド (Excel)](https://msdn.microsoft.com/ja-jp/VBA/Excel-VBA/articles/worksheet-evaluate-method-excel?f=255&MSPPError=-2147217396)
19
+ For Each r In Workbooks(fileA).Worksheets(sheet1).Range("G5:I23")
20
+ v.Value = v.Value * -2
21
+ Next
22
+ ```

1

参考リンクの追加

2018/02/20 12:18

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -4,4 +4,6 @@
4
4
  With Workbooks(fileA).Worksheets(sheet1)
5
5
  .Range("G5:I23").Value = .Evaluate("G5:I23*3")
6
6
  End With
7
- ```
7
+ ```
8
+
9
+ [Worksheet.Evaluate メソッド (Excel)](https://msdn.microsoft.com/ja-jp/VBA/Excel-VBA/articles/worksheet-evaluate-method-excel?f=255&MSPPError=-2147217396)