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

質問編集履歴

2

元プログラム追加

2021/10/29 09:29

投稿

raaarta
raaarta

スコア43

title CHANGED
File without changes
body CHANGED
@@ -15,4 +15,48 @@
15
15
  [リンク内容](http://www.max.hi-ho.ne.jp/happy/YNxv9e05.html)
16
16
 
17
17
  objShape という概念とrangeがなんか、、照合させる方法が??でした。
18
- 何卒宜しくお願いします。
18
+ 何卒宜しくお願いします。
19
+ ```vba
20
+ '以下ページより当画像向けに少々変更
21
+ '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
22
+ '変数の宣言を必須
23
+ Option Explicit
24
+
25
+ Sub Sample()
26
+
27
+ Const TARGET_SHEET_NAME As String = "サンプルシート"
28
+ Const TARGET_COLUMN As Integer = 2
29
+ Const START_ROW As Integer = 2
30
+
31
+ Dim endRow As Double
32
+ Dim arrayData As Variant
33
+ Dim data As Variant
34
+ Dim dicDate As Object
35
+
36
+ '最終行を取得
37
+ endRow = Cells(START_ROW, TARGET_COLUMN).End(xlDown).Row
38
+
39
+ '1列分のデータを取得
40
+ With Worksheets(TARGET_SHEET_NAME)
41
+ arrayData = Range(.Cells(START_ROW, TARGET_COLUMN), _
42
+  .Cells(endRow, TARGET_COLUMN))
43
+ End With
44
+
45
+ 'DictionaryのKeyに設定。Valueには空文字を設定
46
+ Set dicDate = CreateObject("Scripting.Dictionary")
47
+ For Each data In arrayData
48
+ If Not dicDate.Exists(data) Then
49
+ dicDate.Add data, ""
50
+ End If
51
+ Next
52
+
53
+ '今回ここらへんに0000006探しではなく、B列がshapeかの判定をさせたいです。
54
+ 'そのためここをコメントアウト
55
+ '特定の値の存在確認
56
+ 'If dicDate.Exists("0000006") Then
57
+ ' MsgBox "0000006が存在しました"
58
+ 'End If
59
+
60
+ End Sub
61
+ コード
62
+ ```

1

目的語を追加

2021/10/29 09:29

投稿

raaarta
raaarta

スコア43

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,5 @@
1
1
  特定の列に対して、セル中に画像が持つかの判定をvbaでさせたいです。
2
+ 画像でいうBが判断対象列,Cが判断結果記入列。
2
3
  vba前のシート
3
4
  ![![イメージ説明](cad2ae33635e9b0a5b495bd4cd052d14.jpeg)](ecef2c2eeb526de92a5ff1c60a878150.jpeg)
4
5
  B4,B7,B8セルは画像を持つので、C列に、それがわかるようにYをたてたいです。