回答編集履歴

1

追記

2020/11/05 09:02

投稿

mattuwan
mattuwan

スコア2163

test CHANGED
@@ -29,3 +29,67 @@
29
29
  同じ列の1行目に「変更者」という文字を入力したい
30
30
 
31
31
  のでしょうか?
32
+
33
+
34
+
35
+ > mattuwanさんの仰る通りで、黄色のセル背景が存在する同じ列の1行目に「変更者」という文字を入力したいです!
36
+
37
+
38
+
39
+ 例えばこんな感じかと。
40
+
41
+
42
+
43
+ ```ExcelVBA
44
+
45
+ Sub test()
46
+
47
+ Dim c As Range
48
+
49
+ Dim r As Range
50
+
51
+ Dim s As String
52
+
53
+
54
+
55
+ Application.FindFormat.Interior.Color = vbYellow 'セルの書式の検索条件の設定
56
+
57
+ ActiveSheet.Rows(1).ClearContents 'シートの1行目をクリア
58
+
59
+
60
+
61
+ 'シート上の使っているセル範囲の列の集合の各列を順に見ていく
62
+
63
+ For Each c In ActiveSheet.UsedRange.Columns
64
+
65
+ Set r = Nothing '変数の初期化
66
+
67
+ Set r = c.Find(What:="*", SearchFormat:=True) '検索
68
+
69
+
70
+
71
+ '見つかったかどうかで結果を変数に記録
72
+
73
+ If Not r Is Nothing Then
74
+
75
+ s = "変更者"
76
+
77
+ Else
78
+
79
+ s = ""
80
+
81
+ End If
82
+
83
+
84
+
85
+ c.Cells(0).Value = s '変数の値をセル範囲の0番目のセルへ記入
86
+
87
+ Next
88
+
89
+ End Sub
90
+
91
+ ```
92
+
93
+
94
+
95
+ ※シート上の状態によってはエラーになるかも知れません。