質問編集履歴

5

コードの修正

2020/03/03 07:41

投稿

Yoshikun_0945
Yoshikun_0945

スコア224

test CHANGED
File without changes
test CHANGED
@@ -36,15 +36,35 @@
36
36
 
37
37
  MCol = Ws.Cells(2, 2).End(xlToRight).Column '右端列番号を取得する
38
38
 
39
- for i = 3 to MRow
39
+ For i = 3 To MRow '各行に数式を追加する
40
40
 
41
- Set fc = Range(Ws.Cells(i, 2), Ws.Cells(i, MCol)).FormatConditions.Add(xlExpression, , "=$R" & "$" & i & " = " & "0")
41
+ Ws.Cells(i, 11).Value = "-": Ws.Cells(i, 13).Value = "-": Ws.Cells(i, 15).Value = "-"
42
42
 
43
+ Ws.Cells(i, MCol - 1).Value = "=" '減算記号と等号を出力する
44
+
45
+ Ws.Cells(i, 12).Value = "0": Ws.Cells(i, 14).Value = "0": Ws.Cells(i, 16).Value = "0" '数値の初期値を出力する
46
+
47
+ Ws.Cells(i, MCol).Value = "=J" & i & "-(L" & i & "+N" & i & "+P" & i & ")" '数式を出力する
48
+
49
+
50
+
51
+ Set fc = Range(Ws.Cells(i, 3), Ws.Cells(i, MCol)).FormatConditions.Add(xlExpression, , "=$R" & "$" & i & " = " & "0")
52
+
43
- Set fc = Range(Ws.Cells(i, 2), Ws.Cells(i, MCol)).FormatConditions(1) ' 1 つ目の条件付き書式を取得
53
+ Set fc = Range(Ws.Cells(i, 3), Ws.Cells(i, MCol)).FormatConditions(1) ' 1 つ目の条件付き書式を取得
44
54
 
45
55
  fc.Interior.ColorIndex = xlNone '条件式に一致する場合、『背景色を消去』する
46
56
 
57
+ For j = 12 To 16 Step 2 '数値の間処理をする
58
+
59
+ Ws.Cells(i, j).NumberFormatLocal = "G/標準" 'セルの表示形式を設定する
60
+
47
- Next
61
+ Next
62
+
63
+ 合計(CInt(Ws.Cells(i, 6).Value)) = 合計(CInt(Ws.Cells(i, 6).Value)) + CInt(Ws.Cells(i, 10).Value)
64
+
65
+ Next
66
+
67
+
48
68
 
49
69
  End Sub
50
70
 

4

追加情報の記載

2020/03/03 07:41

投稿

Yoshikun_0945
Yoshikun_0945

スコア224

test CHANGED
File without changes
test CHANGED
@@ -51,3 +51,5 @@
51
51
  ```
52
52
 
53
53
  set fc …という数式を指定する行で止まってしまいます。
54
+
55
+ デスクトップPCでコードを記述して、ノートPCで処理を実行する方式を採用しており、コードを記述したデスクトップPCでは条件付き書式が設定できたのですが、実行するノートPCにファイルをコピーして実行してみたところ、数式を利用した条件付き書式設定がプロシージャの不正となってしまいました。Excelのバージョン等で利用不可であれば諦めます。

3

コードの修正

2020/03/03 07:39

投稿

Yoshikun_0945
Yoshikun_0945

スコア224

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  Dim Ws As Worksheet
30
30
 
31
- private sub shiwake1()
31
+ Private Sub shiwake1()
32
32
 
33
33
  Set Ws = Worksheets(3)
34
34
 
@@ -46,7 +46,7 @@
46
46
 
47
47
  Next
48
48
 
49
- end sub
49
+ End Sub
50
50
 
51
51
  ```
52
52
 

2

コードの修正

2020/03/03 07:29

投稿

Yoshikun_0945
Yoshikun_0945

スコア224

test CHANGED
File without changes
test CHANGED
@@ -49,3 +49,5 @@
49
49
  end sub
50
50
 
51
51
  ```
52
+
53
+ set fc …という数式を指定する行で止まってしまいます。

1

subの記述

2020/03/03 07:14

投稿

Yoshikun_0945
Yoshikun_0945

スコア224

test CHANGED
File without changes
test CHANGED
@@ -28,6 +28,8 @@
28
28
 
29
29
  Dim Ws As Worksheet
30
30
 
31
+ private sub shiwake1()
32
+
31
33
  Set Ws = Worksheets(3)
32
34
 
33
35
  MRow = Ws.Cells(Rows.Count, 3).End(xlUp).Row '最終行番号を取得する
@@ -44,4 +46,6 @@
44
46
 
45
47
  Next
46
48
 
49
+ end sub
50
+
47
51
  ```