回答編集履歴

3

修正

2018/11/07 10:04

投稿

退会済みユーザー
test CHANGED
@@ -6,7 +6,9 @@
6
6
 
7
7
 
8
8
 
9
- For Eachの場合ループから抜けると値が確定されないのでコードをお使いくさい
9
+ For Eachの場合itmに代入した値がarrには反映されないので質問されたのだと考えます
10
+
11
+ 従って次のコードのように配列の初めから終わりまでカウンタでループさせて代入してください。
10
12
 
11
13
  ```VBA
12
14
 

2

ミス修正

2018/11/07 10:03

投稿

退会済みユーザー
test CHANGED
File without changes

1

ミス修正

2018/11/07 09:14

投稿

退会済みユーザー
test CHANGED
@@ -1,25 +1,25 @@
1
- 同じ要素を書き換えるなら、こんな感じで判断して代入するだけで良いかと
1
+ ~~同じ要素を書き換えるなら、こんな感じで判断して代入するだけで良いかと~~
2
2
 
3
3
 
4
4
 
5
+ 失礼しました。
6
+
7
+
8
+
9
+ For Eachの場合ループから抜けると値が確定されないので次のコードをお使いください。
10
+
5
11
  ```VBA
6
12
 
7
- For Each itm In arr()
13
+ Dim i As Long, j As Long
8
14
 
9
- Select Case itm
15
+ For i = LBound(arr, 1) To UBound(arr, 1)
10
16
 
11
- Case "Y"
17
+ For j = LBound(arr, 2) To UBound(arr, 2)
12
18
 
13
- itm = "N"
19
+ arr(i, j) = IIf(arr(i, j) = "Y", "N", IIf(arr(i, j) = "N", "Y", arr(i, j)))
14
20
 
15
- Case "N"
21
+ Next
16
22
 
17
- itm = "Y"
18
-
19
- End Select
20
-
21
- Next itm
23
+ Next
22
-
23
- End Sub
24
24
 
25
25
  ```