回答編集履歴
4
誤りの修正
answer
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
Cells(1, 3).Interior.Color = vbRed
|
39
39
|
Else
|
40
40
|
'合計100なら塗りつぶしなしにする
|
41
|
-
Cells(1, 3).Interior.
|
41
|
+
Cells(1, 3).Interior.Color = xlNone
|
42
42
|
End If
|
43
43
|
End Sub
|
44
44
|
```
|
3
誤りの修正
answer
CHANGED
@@ -31,11 +31,16 @@
|
|
31
31
|
msgboxでエラー表示させてもいいんですが入力では煩わしそうです。
|
32
32
|
Interior.Colorで背景色を変更してもいいかもしれません。
|
33
33
|
```
|
34
|
+
Sub main()
|
34
|
-
Cells(1,3) = Cells(1,1) + Cells(1,2)
|
35
|
+
Cells(1, 3) = Cells(1, 1) + Cells(1, 2)
|
35
|
-
|
36
|
+
If Cells(1, 3) <> 100 Then
|
36
|
-
|
37
|
+
'色の指定方法は.Interior.Colorで検索
|
37
|
-
|
38
|
+
Cells(1, 3).Interior.Color = vbRed
|
38
|
-
|
39
|
+
Else
|
40
|
+
'合計100なら塗りつぶしなしにする
|
41
|
+
Cells(1, 3).Interior.ColorIndex = xlNone
|
42
|
+
End If
|
43
|
+
End Sub
|
39
44
|
```
|
40
45
|
|
41
46
|
③ とあるセル(例えばB4セル)に入力があった場合、
|
2
誤字の修正
answer
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
① 所属部署、社員番号の入力ミスがあったらエラーになる
|
2
2
|
別のsheetに所属部署や社員番号を控えておいてそれでif文検索でいいです。
|
3
3
|
セルの値が変更されたタイミングで反応させる場合はイベントを使用します。
|
4
|
-
反応系イベントはブックを
|
4
|
+
反応系イベントはブックを開いた時や閉じた時などもあるので少し調べてみると良いでしょう。
|
5
|
-
ただ、イベント反応系はデバッグに苦労しますし正常に動いているのかも確認し
|
5
|
+
ただ、イベント反応系はデバッグに苦労しますし正常に動いているのかも確認しづらいので必要最小限の方がいいです。
|
6
6
|
```
|
7
7
|
'subとして単体で使用
|
8
8
|
'ワークシートイベントなのでどのセルを指定しても一度はこのイベントが反応する。
|
1
追記
answer
CHANGED
@@ -18,12 +18,13 @@
|
|
18
18
|
End If
|
19
19
|
End Sub
|
20
20
|
```
|
21
|
+
[参考](https://www.moug.net/tech/exvba/0050131.html)
|
21
22
|
|
22
23
|
また手入力にしなければ誤入力エラーも起きません。
|
23
24
|
所属部署や社員番号は頻繁に入れ替わったり追加することもありませんよね。
|
24
25
|
コンボボックスを埋め込んでおいて~みたいな方法もあります。
|
25
26
|
コンボボックスを先に仕込む方法とか考えないといけないので出来ればですが。
|
26
|
-
https://www.ipentec.com/document/excel-cell-change-doropdown-list-combobox
|
27
|
+
[コンボボックス](https://www.ipentec.com/document/excel-cell-change-doropdown-list-combobox)
|
27
28
|
|
28
29
|
② ある項目の割合を100%にする箇所があるのですが、(例えば50%、30%、20%という形、こちらも手入力)そちらが100%になっていなければエラーになる。
|
29
30
|
単純にCellsで比較すればよいと思います。
|