質問編集履歴

2

元プログラム追加

2021/10/29 09:29

投稿

raaarta
raaarta

スコア43

test CHANGED
File without changes
test CHANGED
@@ -33,3 +33,91 @@
33
33
  objShape という概念とrangeがなんか、、照合させる方法が??でした。
34
34
 
35
35
  何卒宜しくお願いします。
36
+
37
+ ```vba
38
+
39
+ '以下ページより当画像向けに少々変更
40
+
41
+ 'https://it-skill-memo.work/2019/09/14/%E3%80%90vba%E3%80%91%E5%88%97%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6dictionary%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B/#toc3
42
+
43
+ '変数の宣言を必須
44
+
45
+ Option Explicit
46
+
47
+
48
+
49
+ Sub Sample()
50
+
51
+
52
+
53
+ Const TARGET_SHEET_NAME As String = "サンプルシート"
54
+
55
+ Const TARGET_COLUMN As Integer = 2
56
+
57
+ Const START_ROW As Integer = 2
58
+
59
+
60
+
61
+ Dim endRow As Double
62
+
63
+ Dim arrayData As Variant
64
+
65
+ Dim data As Variant
66
+
67
+ Dim dicDate As Object
68
+
69
+
70
+
71
+ '最終行を取得
72
+
73
+ endRow = Cells(START_ROW, TARGET_COLUMN).End(xlDown).Row
74
+
75
+
76
+
77
+ '1列分のデータを取得
78
+
79
+ With Worksheets(TARGET_SHEET_NAME)
80
+
81
+ arrayData = Range(.Cells(START_ROW, TARGET_COLUMN), _
82
+
83
+  .Cells(endRow, TARGET_COLUMN))
84
+
85
+ End With
86
+
87
+
88
+
89
+ 'DictionaryのKeyに設定。Valueには空文字を設定
90
+
91
+ Set dicDate = CreateObject("Scripting.Dictionary")
92
+
93
+ For Each data In arrayData
94
+
95
+ If Not dicDate.Exists(data) Then
96
+
97
+ dicDate.Add data, ""
98
+
99
+ End If
100
+
101
+ Next
102
+
103
+
104
+
105
+ '今回ここらへんに0000006探しではなく、B列がshapeかの判定をさせたいです。
106
+
107
+ 'そのためここをコメントアウト
108
+
109
+ '特定の値の存在確認
110
+
111
+ 'If dicDate.Exists("0000006") Then
112
+
113
+ ' MsgBox "0000006が存在しました"
114
+
115
+ 'End If
116
+
117
+
118
+
119
+ End Sub
120
+
121
+ コード
122
+
123
+ ```

1

目的語を追加

2021/10/29 09:29

投稿

raaarta
raaarta

スコア43

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
1
  特定の列に対して、セル中に画像が持つかの判定をvbaでさせたいです。
2
+
3
+ 画像でいうBが判断対象列,Cが判断結果記入列。
2
4
 
3
5
  vba前のシート
4
6