質問編集履歴
6
加筆・修正4
title
CHANGED
File without changes
|
body
CHANGED
@@ -63,5 +63,13 @@
|
|
63
63
|
一度コピぺして、その値を検証した後不要であれば削除する、というので可能だと思うのですが、現行の方法で何がダメなのか、何を加えればいいのかよく分かりません。どなたかご教示いただけないでしょうか?
|
64
64
|
|
65
65
|
### 試したこと
|
66
|
-
`Set yard_rng = .ListColumns(2).DataBodyRange.SpecialCells(xlCellTypeVisible).Resize(.Rows.Count - 1)`→エラー
|
66
|
+
0. `Set yard_rng = .ListColumns(2).DataBodyRange.SpecialCells(xlCellTypeVisible).Resize(.Rows.Count - 1)`→エラー
|
67
|
-
コピペして貼り付け先の値で確認→〇
|
67
|
+
0. コピペして貼り付け先の値で確認→〇
|
68
|
+
0. For Eachを使う→〇
|
69
|
+
```VBA
|
70
|
+
yard = yard_rng.Item(1).Value
|
71
|
+
For Each rng In yard_rng
|
72
|
+
If rng.Value <> yard Then flg = False
|
73
|
+
yard = rng.Value
|
74
|
+
Next rng
|
75
|
+
```
|
5
加筆・修正3
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
### 問題
|
9
9
|
[https://www.relief.jp/docs/excel-vba-for-each-loop-visible-cells.html
|
10
10
|
](https://www.relief.jp/docs/excel-vba-for-each-loop-visible-cells.html)
|
11
|
-
こちらを参考に可視
|
11
|
+
こちらを参考に可視列をループして、一つでも一致しないものが見つかればBooleanのflag(変数名flg)を立てて、条件処理を行いたいのですが、
|
12
12
|
可視セルをループさせて確認処理する際、
|
13
13
|
|
14
14
|
- `Set yard_rng = .ListColumns(2).DataBodyRange.SpecialCells(xlCellTypeVisible)`
|
4
加筆・修正2
title
CHANGED
File without changes
|
body
CHANGED
@@ -60,4 +60,8 @@
|
|
60
60
|
```
|
61
61
|
|
62
62
|
###対策は?
|
63
|
-
一度コピぺして、その値を検証した後不要であれば削除する、というので可能だと思うのですが、現行の方法で何がダメなのか、何を加えればいいのかよく分かりません。どなたかご教示いただけないでしょうか?
|
63
|
+
一度コピぺして、その値を検証した後不要であれば削除する、というので可能だと思うのですが、現行の方法で何がダメなのか、何を加えればいいのかよく分かりません。どなたかご教示いただけないでしょうか?
|
64
|
+
|
65
|
+
### 試したこと
|
66
|
+
`Set yard_rng = .ListColumns(2).DataBodyRange.SpecialCells(xlCellTypeVisible).Resize(.Rows.Count - 1)`→エラー
|
67
|
+
コピペして貼り付け先の値で確認→〇
|
3
加筆・修正1
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
|
14
14
|
- `Set yard_rng = .ListColumns(2).DataBodyRange.SpecialCells(xlCellTypeVisible)`
|
15
15
|
こちらのRangeの長さ(Count)は絞り込まれたデータ数通り
|
16
|
-
- ループでValueを
|
16
|
+
- **ループ内でValueを確認してみると、最初のItem(1).Valueは可視セルの最初の値、以降のItem(i).Valueは可視/不可視に関わらず最初の可視セルの次からの値になります**
|
17
17
|
- 可視範囲のコピーは問題なくできます
|
18
18
|
|
19
19
|
### ソースコード
|
2
誤字修正2
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
こちらを参考に可視セルをループして、すべてが同じでなければBooleanのflag(変数名flg)を立てて、条件処理を行いたいのですが、
|
12
12
|
可視セルをループさせて確認処理する際、
|
13
13
|
|
14
|
-
-
|
14
|
+
- `Set yard_rng = .ListColumns(2).DataBodyRange.SpecialCells(xlCellTypeVisible)`
|
15
15
|
こちらのRangeの長さ(Count)は絞り込まれたデータ数通り
|
16
16
|
- ループでValueを見てみると、最初のItem(1).Valueは可視セルの最初の値、以降のItem(i).Valueは可視/不可視に関わらず最初の可視セルの次からの値になります
|
17
17
|
- 可視範囲のコピーは問題なくできます
|
1
誤字修正1
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
テーブルの可視セルの指定列の値がすべて同じかどうか確認したいが・・・SpecialCells(xlCellTypeVisible)で設定したRangeをFor文で回すと非表示
|
1
|
+
テーブルの可視セルの指定列の値がすべて同じかどうか確認したいが・・・SpecialCells(xlCellTypeVisible)で設定したRangeをFor文で回すと非表示セルの値が返ってくる
|
body
CHANGED
File without changes
|