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

質問編集履歴

5

コードの修正

2020/03/03 07:41

投稿

Yoshikun_0945
Yoshikun_0945

スコア224

title CHANGED
File without changes
body CHANGED
@@ -17,11 +17,21 @@
17
17
  Set Ws = Worksheets(3)
18
18
  MRow = Ws.Cells(Rows.Count, 3).End(xlUp).Row '最終行番号を取得する
19
19
  MCol = Ws.Cells(2, 2).End(xlToRight).Column '右端列番号を取得する
20
- for i = 3 to MRow
20
+ For i = 3 To MRow '各行に数式を追加する
21
+ Ws.Cells(i, 11).Value = "-": Ws.Cells(i, 13).Value = "-": Ws.Cells(i, 15).Value = "-"
22
+ Ws.Cells(i, MCol - 1).Value = "=" '減算記号と等号を出力する
23
+ Ws.Cells(i, 12).Value = "0": Ws.Cells(i, 14).Value = "0": Ws.Cells(i, 16).Value = "0" '数値の初期値を出力する
24
+ Ws.Cells(i, MCol).Value = "=J" & i & "-(L" & i & "+N" & i & "+P" & i & ")" '数式を出力する
25
+
21
- Set fc = Range(Ws.Cells(i, 2), Ws.Cells(i, MCol)).FormatConditions.Add(xlExpression, , "=$R" & "$" & i & " = " & "0")
26
+ Set fc = Range(Ws.Cells(i, 3), Ws.Cells(i, MCol)).FormatConditions.Add(xlExpression, , "=$R" & "$" & i & " = " & "0")
22
- Set fc = Range(Ws.Cells(i, 2), Ws.Cells(i, MCol)).FormatConditions(1) ' 1 つ目の条件付き書式を取得
27
+ Set fc = Range(Ws.Cells(i, 3), Ws.Cells(i, MCol)).FormatConditions(1) ' 1 つ目の条件付き書式を取得
23
28
  fc.Interior.ColorIndex = xlNone '条件式に一致する場合、『背景色を消去』する
29
+ For j = 12 To 16 Step 2 '数値の間処理をする
30
+ Ws.Cells(i, j).NumberFormatLocal = "G/標準" 'セルの表示形式を設定する
24
- Next
31
+ Next
32
+ 合計(CInt(Ws.Cells(i, 6).Value)) = 合計(CInt(Ws.Cells(i, 6).Value)) + CInt(Ws.Cells(i, 10).Value)
33
+ Next
34
+
25
35
  End Sub
26
36
  ```
27
37
  set fc …という数式を指定する行で止まってしまいます。

4

追加情報の記載

2020/03/03 07:41

投稿

Yoshikun_0945
Yoshikun_0945

スコア224

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

3

コードの修正

2020/03/03 07:39

投稿

Yoshikun_0945
Yoshikun_0945

スコア224

title CHANGED
File without changes
body CHANGED
@@ -13,7 +13,7 @@
13
13
  Dim MRow As Long
14
14
  Dim MCol As Integer
15
15
  Dim Ws As Worksheet
16
- private sub shiwake1()
16
+ Private Sub shiwake1()
17
17
  Set Ws = Worksheets(3)
18
18
  MRow = Ws.Cells(Rows.Count, 3).End(xlUp).Row '最終行番号を取得する
19
19
  MCol = Ws.Cells(2, 2).End(xlToRight).Column '右端列番号を取得する
@@ -22,6 +22,6 @@
22
22
  Set fc = Range(Ws.Cells(i, 2), Ws.Cells(i, MCol)).FormatConditions(1) ' 1 つ目の条件付き書式を取得
23
23
  fc.Interior.ColorIndex = xlNone '条件式に一致する場合、『背景色を消去』する
24
24
  Next
25
- end sub
25
+ End Sub
26
26
  ```
27
27
  set fc …という数式を指定する行で止まってしまいます。

2

コードの修正

2020/03/03 07:29

投稿

Yoshikun_0945
Yoshikun_0945

スコア224

title CHANGED
File without changes
body CHANGED
@@ -23,4 +23,5 @@
23
23
  fc.Interior.ColorIndex = xlNone '条件式に一致する場合、『背景色を消去』する
24
24
  Next
25
25
  end sub
26
- ```
26
+ ```
27
+ set fc …という数式を指定する行で止まってしまいます。

1

subの記述

2020/03/03 07:14

投稿

Yoshikun_0945
Yoshikun_0945

スコア224

title CHANGED
File without changes
body CHANGED
@@ -13,6 +13,7 @@
13
13
  Dim MRow As Long
14
14
  Dim MCol As Integer
15
15
  Dim Ws As Worksheet
16
+ private sub shiwake1()
16
17
  Set Ws = Worksheets(3)
17
18
  MRow = Ws.Cells(Rows.Count, 3).End(xlUp).Row '最終行番号を取得する
18
19
  MCol = Ws.Cells(2, 2).End(xlToRight).Column '右端列番号を取得する
@@ -21,4 +22,5 @@
21
22
  Set fc = Range(Ws.Cells(i, 2), Ws.Cells(i, MCol)).FormatConditions(1) ' 1 つ目の条件付き書式を取得
22
23
  fc.Interior.ColorIndex = xlNone '条件式に一致する場合、『背景色を消去』する
23
24
  Next
25
+ end sub
24
26
  ```